Reporting Services-将标签翻译成不同的语言 [英] Reporting Services - translating labels into different languages

查看:18
本文介绍了Reporting Services-将标签翻译成不同的语言的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我即将完成SQL Server 2008 Reporting Services项目中的报表,作为最后步骤之一,我需要使其可翻译。

由于我有一系列报表,并且它们都共享一些相同的标签,因此我决定将所有需要显示的标签放入SQL Server表中,然后在我的报表中将该内容显示为数据集dsReportLabels

此数据集基本上包含两个字段:LabelName是标签的名称(例如"项数"),并且Caption包含要在报告上显示的所选语言的文本。

但现在我的脑海中出现了挡路:如何根据dsReportLabels.LabelNamedsReportLabels.Caption值赋给例如文本框?

所以我需要类似于(伪LINQ语句)的内容:

Textbox1.Value = from dsReportLabels 
                 where LabelName = "some value" 
                 select Caption;

但是如何在Reporting Services代码段中表示它?

我知道如何引用Parameters!MyParameterName.Value之类的内容,但是当我尝试从数据集中的一列提取值时(给定该数据集中另一列的值),这在这里并不真正起作用。

我打赌这最终是完全容易做到的……只是现在我似乎不能理解这件事……外面有人知道怎么做吗?

推荐答案

MSDN博客文章介绍了一种方法。本质:

  1. 使用LabelID、语言和标题创建查阅表格。
  2. 创建获取指定语言的所有标签ID和标题的存储进程。
  3. 将SP的结果存储在数据集中。
  4. 将数据集存储在多值参数中。
  5. 在自定义查找函数中使用多值参数。

因此,标签文本框中的表达式将调用带有labelID的自定义函数,该函数将获得相应语言的相应标题。

Report Server 2008还具有内置的Lookup函数,允许您跳过第4步和第5步。如果是这种情况,您的表达式将调用内置的Lookup函数,该函数将直接转到数据集。我没有RS 2008,因此无法测试此功能。

这篇关于Reporting Services-将标签翻译成不同的语言的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆