在文本框中执行存储过程以获取本地化文本

Rol*_*and 1 multilingual stored-procedures localization reporting-services ssrs-2008

是否可以在文本框中执行存储过程?我们需要这个来本地化我们的报告.

例如,我们有一个存储过程,它返回给定Key和给定的本地化文本LanguageId.我想在报表中使用不同的键为每个Label(文本框)执行此存储过程.

我们正在使用SSRS 2008.

Jer*_*oen 5

我认为你的东西有点混乱,你不能"在文本框中执行一个sproc".

你可以做的是创建一个数据集,获取当前语言所需的所有键/值对,如下所示:

EXEC usp_GetReportLabels 'en-US'

/* Returns:

   Key       Val
  ---------  ------------
  lbl1       Firstname
  lbl2       Surname
  etc        etc
*/
Run Code Online (Sandbox Code Playgroud)

在文本框中,您可以使用使用Lookup函数的表达式从该数据集中检索正确的行,并显示标签值.

注意:你提到而不是版本,我认为这个Lookup功能在普通版2008中没有.在这种情况下,您需要稍微重新构建数据集以获得相同的效果.一种解决方案是PIVOT将数据集Key放入列中(在这种情况下,数据集只包含一行,因此您可以这样做First(Fields!lbl1.Value)).虽然有点变通方法.