Reporting Services-将标签翻译成不同的语言 [英] Reporting Services - translating labels into different languages
本文介绍了Reporting Services-将标签翻译成不同的语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我即将完成SQL Server 2008 Reporting Services项目中的报表,作为最后步骤之一,我需要使其可翻译。
由于我有一系列报表,并且它们都共享一些相同的标签,因此我决定将所有需要显示的标签放入SQL Server表中,然后在我的报表中将该内容显示为数据集dsReportLabels
。
LabelName
是标签的名称(例如"项数"),并且Caption
包含要在报告上显示的所选语言的文本。
但现在我的脑海中出现了挡路:如何根据dsReportLabels.LabelName
将dsReportLabels.Caption
值赋给例如文本框?
所以我需要类似于(伪LINQ语句)的内容:
Textbox1.Value = from dsReportLabels
where LabelName = "some value"
select Caption;
但是如何在Reporting Services代码段中表示它?
我知道如何引用Parameters!MyParameterName.Value
之类的内容,但是当我尝试从数据集中的一列提取值时(给定该数据集中另一列的值),这在这里并不真正起作用。
我打赌这最终是完全容易做到的……只是现在我似乎不能理解这件事……外面有人知道怎么做吗?
推荐答案
此MSDN博客文章介绍了一种方法。本质:
- 使用LabelID、语言和标题创建查阅表格。
- 创建获取指定语言的所有标签ID和标题的存储进程。
- 将SP的结果存储在数据集中。
- 将数据集存储在多值参数中。
- 在自定义查找函数中使用多值参数。
因此,标签文本框中的表达式将调用带有labelID的自定义函数,该函数将获得相应语言的相应标题。
Report Server 2008还具有内置的Lookup函数,允许您跳过第4步和第5步。如果是这种情况,您的表达式将调用内置的Lookup函数,该函数将直接转到数据集。我没有RS 2008,因此无法测试此功能。这篇关于Reporting Services-将标签翻译成不同的语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文