自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,需要根据客户端的语言偏号来呈现不同的语言字符。