[英]SSRS Parameter Issue with ReportViewer
我有一个Winforms应用程序,该应用程序使用ReportViewer
控件显示SSRS报告。 我有一个报告,其中包含许多必须由用户设置的参数。 我专门将其中一个参数设置为没有默认值,以便在运行报表之前将参数提示显示在报表查看器中。
但是,在显示报表查看器时,不会显示参数提示,并且会显示一条消息,
该报告需要报告参数“ ReservationStatus”的默认值或用户定义的值。 要运行或订阅此报告,必须提供一个参数值。
如果我执行ReportViewer.RefreshReport()
,则会显示提示。 但是,我不想调用此方法,因为我还调用了ReportViewer.SetDisplayMode()
方法以将其置于打印模式。 该方法应该调用RefreshReport()
方法。
同样,首次显示表单时,“ Show / Hide Parameter
按钮Show / Hide Parameter
为灰色。 如果单击刷新按钮,则启用参数按钮。 如果查看器在调用刷新之前没有选择参数,则为a。
有人可以解释为什么我似乎不能先让查看器提示输入参数,然后再尝试刷新/运行报告吗?
在报表控件上设置ReportViewer.Messages属性会导致参数窗格刷新。 我可以用以下代码替换RefreshReport:
ReportViewer.Messages = ReportViewer.Messages
.NET Reflector之旅解释了为什么:
调用rsParams.EnsureParamsLoaded的唯一其他方法是RefreshReport。 而且该方法是私有的,因此没有希望使用继承。 我可以找到唯一的解决方法,尽管将消息设置为自身,尽管这非常棘手。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.