自SQL Server 2005發布之后,我們開發報表項目又多了一種選擇:Reporting Services。 最近被朋友問到,如何在Reporting Services中實現多國語言。經過一番探索,找到一個有效的方案。 因為工作的原因,較早就接觸到使用Reporting Services技術開發報表項目,
自SQL Server 2005發布之后,我們開發報表項目又多了一種選擇:Reporting Services。 最近被朋友問到,如何在Reporting Services中實現多國語言。經過一番探索,找到一個有效的方案。
因為工作的原因,較早就接觸到使用Reporting Services技術開發報表項目,它可以在SQL Server 2005/2008中使用。SQL Server 2000也有Reporting Services,使用的不多。即使沒有購買SQL Server 2005的License,也可以借助于這項技術,使用簡單輕便的客戶端報表(RDLC)。
最近被朋友問到,如何在Reporting Services中實現多國語言。經過一番探索,找到一個有效的方案。
最簡單的辦法,就是為每一種語言制作相同的報表文件,只是把里面的Label全部換成該語言的文字。比如,為了制作中文和英語兩種語種的報表,建立兩個報表文件, Customer.rdl和Customer.zh-cn.rdl.
在報表呈現的客戶端,根據用戶的語言偏號,選擇呈現不同的報表。這種方法簡單可行,但是會引起重復。修改一個報表的格式,同時也必須修改另一個報表的格式,維護起來不方便。
下面介紹另外一種方法,使用一個文件來制作不多語種的報表。
先打開BIDS ,新建Reporting Services項目,添加報表。
制作報表涉及到的技術不復雜,我們把目標集中在如何實現多國語言。
這個報表讀取SQL Server 的Northwind的Customer表,使用table呈現在報表中。
然后設計報表的列,使之呈現對應的數據。
在這里,我設計兩個地方的Label,需要根據客戶端的語言偏號來呈現不同的語言字符。