1

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

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

我们正在使用 SSRS 2008。

4

1 回答 1

5

我认为你把事情搞混了,你不能“在文本框中执行存储过程”

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

EXEC usp_GetReportLabels 'en-US'

/* Returns:

   Key       Val
  ---------  ------------
  lbl1       Firstname
  lbl2       Surname
  etc        etc
*/

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

注意:您提到但没有提到 ssrs 版本,我认为该Lookup功能在 plain-2008 中不可用。在这种情况下,您需要稍微重构数据集以获得相同的效果。一种解决方案是PIVOT数据集并将Keys 放入列(在这种情况下,数据集将仅包含一行,因此您可以这样做First(Fields!lbl1.Value))。虽然有点解决方法。

于 2013-04-10T07:37:10.937 回答