go backsqlschool blogs list

How to localize Reports in SQL Server Reporting Services

by Antonios Chatzipavlis

Επειδή στην σημερινή εποχή τα 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*/
Ημερομηνία: 15 August 2013 01:39
Share it:

Αφήστε το σχόλιο σας - Leave your comment

Τα σχόλια έχουν κλείσει.
Επιτρέπονται μόνο τα σχόλια από τα μέλη του SqlSchool.gr.


newsletter subscription

Εάν επιθυμείτε να λαμβάνετε ενημέρωση από εμάς, δώστε μας το e-mail σας.
PASS chapter logo
Official Professional Association for SQL Server (PASS) chapter for Greece
Join to PASS