我正在完成我的SQL Server 2008 Reporting Services项目中的报告,作为最后的步骤之一,我需要使其可翻译。
由于我有一堆报告,并且它们都共享一些相同的标签,因此我决定将所有需要显示的标签放入SQL Server表中,并在我的报告中以DataSet dsReportLabels的形式显示这些内容。
这个DataSet基本上包含两个字段:LabelName是标签的名称(例如"Count of items"),而Caption包含要在报告上显示的所选语言的文本。
但是现在我的思想障碍来了:我如何根据dsReportLabels.LabelName将dsReportLabels.Caption值赋给例如textbox?
所以我需要像这样的东西(伪LINQ语句):
Textbox1.Value = from dsReportLabels
where LabelName = "some value"
select Caption;但是,如何在Reporting Services代码段中表达这一点呢?
我知道如何引用Parameters!MyParameterName.Value之类的东西--但是当我试图从DataSet的一列中提取一个值时,这在这里并不能真正起作用,因为给定了该DataSet中另一列的值。
我敢打赌,最终这是非常容易做到的……只是现在我似乎不能理解这件事...外面有人知道怎么做吗?
发布于 2010-01-13 23:04:24
这篇MSDN博客文章描述了一种方法。本质上:
Caption.
因此,标签文本框中的表达式将使用labelID调用自定义函数,该函数将获得适当语言的适当标题。
Report Server 2008还具有内置的Lookup函数,可以让您跳过步骤4和5。如果是这种情况,则表达式将调用内置的lookup函数,该函数将直接转到dataset。我没有RS2008,所以我不能测试这个。
https://stackoverflow.com/questions/2056732
复制相似问题