代码之家  ›  专栏  ›  技术社区  ›  Juliet

报表参数验证

  •  5
  • Juliet  · 技术社区  · 16 年前

    我对SSR不熟悉,所以如果这个问题太简单,我道歉:

    我有一个报告,它接受一个名为“amount”的参数。我希望将有效输入限制为currency values>=0,并在用户输入不正确的值时弹出错误消息。

    我不想验证存储过程中的输入并抛出异常,因为SSR向从另一台计算机访问报告的用户显示非常通用的“查询执行失败,sometable”消息,而我的业务不想打开“启用远程错误”标志。

    如何向报表参数添加输入验证并通知用户输入错误?

    是的,我到处搜索,但运气不好。事先谢谢:)

    3 回复  |  直到 16 年前
        1
  •  6
  •   Darcy Casselman    16 年前

    好吧,这个怎么样?

    实际上,SSR中只有SQL查询和报表字段中的表达式。

    也许您可以在报告顶部为您的错误消息添加一个大的红色文本框,并给它一个类似“=iif(参数)!amount.value<0,“错误:无效金额”,“)”。

    然后转到表的“hidden”属性,并给它表达式“=参数!金额值<0“

    您还可以在查询的WHERE子句中添加“and@amount>=0”,这样在出现错误时就不会从数据库中提取数据。

        2
  •  0
  •   Chris Simpson    16 年前

    可以在基于特定列表或查找查询的SSR中生成报告参数,但我认为您不能应用regex或类似的东西。

    相反,您可以考虑将报表分为两个面板,一个面板显示报表,另一个面板显示错误,然后创建一个程序集,其中包含一个函数,用于在报表运行前验证其参数。如果“验证参数”功能成功,则隐藏“错误”面板并显示“报告”面板,否则则相反。

        3
  •  0
  •   Darcy Casselman    16 年前

    我不认为你能在报告工具本身中做很多事情。这是相当初级的。

    但是,您可以提供一个ASP.NET Web界面或一个窗体,您可以使用它以.NET允许的任何格式向用户询问参数值,并使用ReportViewer控件显示报表。这听起来让人望而生畏,但事实上这是非常直接的,特别是如果你已经有了一个可以构建的项目。

    微软给出 tutorials for using the ReportViewer controls .