是否可以在文本框中执行存储过程?我们需要它来本地化我们的报告。
例如,我们有一个存储过程,它返回给定Key
和给定的本地化文本LanguageId
。我想在我的报告中使用不同的键为每个标签(文本框)执行这个存储过程。
我们正在使用 SSRS 2008。
是否可以在文本框中执行存储过程?我们需要它来本地化我们的报告。
例如,我们有一个存储过程,它返回给定Key
和给定的本地化文本LanguageId
。我想在我的报告中使用不同的键为每个标签(文本框)执行这个存储过程。
我们正在使用 SSRS 2008。
我认为你把事情搞混了,你不能“在文本框中执行存储过程”。
相反,您可以做的是创建一个数据集,该数据集获取当前语言所需的所有键/值对,如下所示:
EXEC usp_GetReportLabels 'en-US'
/* Returns:
Key Val
--------- ------------
lbl1 Firstname
lbl2 Surname
etc etc
*/
在您的文本框中,您可以使用利用Lookup
函数的表达式从该数据集中检索正确的行,并显示标签值。
注意:您提到ssrs-2008但没有提到 ssrs -2008-r2版本,我认为该Lookup
功能在 plain-2008 中不可用。在这种情况下,您需要稍微重构数据集以获得相同的效果。一种解决方案是PIVOT
数据集并将Key
s 放入列(在这种情况下,数据集将仅包含一行,因此您可以这样做First(Fields!lbl1.Value)
)。虽然有点解决方法。