【问题标题】:error in if statement in ssrs reportssrs 报告中的 if 语句错误
【发布时间】:2013-03-28 04:43:33
【问题描述】:

我有一个本地化的 ssrs 报告,我必须检查一些条件并连接 带有一些本地化字符串的表达式结果,这是我完成的代码

 =IIF(Parameters!PledgeTerm1.Value MOD 30,Parameters!PledgeTerm1.Value & "Days",Parameters!PledgeTerm1.Value/30 & "Month(s)")

我想本地化几天和几个月,我写了下面的代码

=IIF(Parameters!PledgeTerm1.Value MOD 30,Parameters!PledgeTerm1.Value &  Code.LocalizedValue("DAYS", Parameters!Culture.Value) ,Parameters!PledgeTerm1.Value/30 & Code.LocalizedValue("MONTHS", Parameters!Culture.Value) )

这不起作用.....

【问题讨论】:

  • 你的表达式看起来正确检查你的代码是否有错误,是否有任何错误显示?
  • 它显示报告位置无效,如果我删除表达式报告工作正常。
  • 尝试用 =IIF(35 MOD 30,45/4 & "b" ,"c" & "d" ) 替换表达式,如果它有效,那么您的代码有错误
  • 与上述表达式报告工作正常..
  • 现在检查您的 Code.LocalizedValue

标签: reporting-services iif


【解决方案1】:

解决此类问题的一个好方法是设置调试会话。

  • 打开引用本地化项目程序集的报表项目。
  • 打开本地化项目并选择菜单选项调试 -> 附加到进程,然后向下滚动进程列表,直到找到报表项目的 devenv.exe 实例(如果从报表服务器运行,则为浏览器进程。 )
  • 附加到报表项目流程后,在LocalizedValue方法的开头设置一些断点,然后在检查相关值的同时单步执行代码。

这将在开发自定义程序集时为您节省大量时间。我认为在本地化项目的解决方案中添加一个单元测试项目也是一个好主意,它可以运行任何/所有本地化方法的测试。请务必将单元测试项目设置为解决方案的启动项目。然后,您可以随时在 Debug 中运行解决方案。这将帮助您在部署之前发现并解决很多问题。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2017-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多