Επειδή στην σημερινή εποχή τα reports μας μπορούν να τα βλέπουν χρήστες που δεν έχουν απαραίτητα το ίδιο culture με εμάς, είναι σκόπιμο να τους δίνουμε αυτό την εμπειρία καθώς έτσι θα κάνουν καλύτερα την δουλειά τους και εμείς θα έχουμε ένα χρήστη λιγότερο πάνω από το κεφάλι μας.
Σε αυτό το web cast σας δείχνω πως μπορείτε να το κάνετε αυτό μιας και δεν υπάρχει σαν build in διαδικασία μέσα στα Reporting Services.
Επίσης όπως αναφέρω και στο web cast δεν μπορώ να έχω localization στα λεκτικά των παραμέτρων. Αυτό είναι κάτι το οποίο το ζητάμε εδώ και καιρό και μάλιστα υπάρχει και connect item.
Ο κώδικας που δείχνω στο συγκεκριμένο web cast είναι ο παρακάτω
CREATE TABLE dbo.ReportTranslations
(
[LabelID] int not null
, [Language] nvarchar(10) not null
, [LabelText] nvarchar(255) not null
);
GO
ALTER TABLE dbo.ReportTranslations
ADD CONSTRAINT PK_ReportTranslations PRIMARY KEY CLUSTERED ([LabelID],[Language]);
GO
INSERT INTO dbo.ReportTranslations VALUES (1,'el-GR',N'Πωλήσεις Διαδυκτίου');
INSERT INTO dbo.ReportTranslations VALUES (1,'en-US',N'Internet Sales');
INSERT INTO dbo.ReportTranslations VALUES (2,'el-GR',N'Ημ/νια');
INSERT INTO dbo.ReportTranslations VALUES (2,'en-US',N'Date');
INSERT INTO dbo.ReportTranslations VALUES (3,'el-GR',N'Κωδικός Προϊόντος')
INSERT INTO dbo.ReportTranslations VALUES (3,'en-US',N'Product Key');
INSERT INTO dbo.ReportTranslations VALUES (4,'el-GR',N'Ποσότητα')
INSERT INTO dbo.ReportTranslations VALUES (4,'en-US',N'Quantity');
INSERT INTO dbo.ReportTranslations VALUES (5,'el-GR',N'Τιμή Μονάδος')
INSERT INTO dbo.ReportTranslations VALUES (5,'en-US',N'Unit Price');
INSERT INTO dbo.ReportTranslations VALUES (6,'el-GR',N'Αξία Πωλήσεως')
INSERT INTO dbo.ReportTranslations VALUES (6,'en-US',N'Sales Amount');
INSERT INTO dbo.ReportTranslations VALUES (7,'el-GR',N'Αξία Φόρων')
INSERT INTO dbo.ReportTranslations VALUES (7,'en-US',N'Tax Amount');
select LabelID,LabelText
from dbo.ReportTranslations
where Language=@UserLanguage;
Public Function GetLabel(P as Parameter, LabelID as Integer) as String
Dim i as Integer
Dim rv as string
rv=""
For i = 0 to Ubound(P.Value)
If (P.Value(i)=LabelID) Then
rv=P.Label(i)
End If
Next i
Return rv
End Function
=Code.GetLabel(Parameters!Labels,1)
/*antonch*/