我有一个带有 RDL 文件的 MS Report 服务器,它以英语显示了一份不错的报告。我有一个带有报表查看器的 Web 应用程序,可以在 ASPX 页面内显示此报表。
我遇到的问题是我想用多种语言显示相同的报告??我该怎么做??
我有一个带有 RDL 文件的 MS Report 服务器,它以英语显示了一份不错的报告。我有一个带有报表查看器的 Web 应用程序,可以在 ASPX 页面内显示此报表。
我遇到的问题是我想用多种语言显示相同的报告??我该怎么做??
1) 将本地化文本存储在数据库中
2) 在第二个数据集中选择文本的本地化版本。
3) 设置参数供用户选择语言。
4) 使用查找功能在报告中包含文本。
如果您想将本地化系统应用于许多报告,这很有用。
1) 将自定义函数添加到接受“Section_Name”和“Language”变量(例如“ReportName, French”)并返回本地化文本的自定义代码(报告属性、代码)中,例如:
function Localise(Section as String) as string
if Report.Parameters!Language.Value = 1 then
select Section
case "Report_Name"
Localise = "Report Name in English"
case "Report_Description"
Localise = "Report Description in English"
end select
elseif Report.Parameters!Language.Value = 2 then
select Section
case "Report_Name"
Localise = "Report Name in French"
case "Report_Description"
Localise = "Report Description in French"
end select
end if
end function
2)添加一个参数供用户选择语言(在这个例子中使用整数作为值)
3)根据需要引用报告文本框中的代码,例如:
=code.localise("Report_Name")
这将在单个报告中相当快地实施和维护
为每种语言创建一个报告,并允许用户通过选择不同的报告来选择语言。
这将是最快的实施方式,但可能会使报告的维护变得困难。