我有一个从ObjectDataSource
填充的报告。该报告包括每个用户可扩展/可折叠的节点。MS Reportviewer - 在ViewState中保存展开/折叠的节点?
我允许查看者通过在数据源上设置FilterExpression
来过滤报告,然后调用ReportViewer1.LocalReport.Refresh()
。这是在回发期间完成的。
这将过滤结果,但展开/折叠节点的状态会丢失。有没有办法将展开/折叠节点存储在ViewState中?还是有更好的方法来完成这一切?
我有一个从ObjectDataSource
填充的报告。该报告包括每个用户可扩展/可折叠的节点。MS Reportviewer - 在ViewState中保存展开/折叠的节点?
我允许查看者通过在数据源上设置FilterExpression
来过滤报告,然后调用ReportViewer1.LocalReport.Refresh()
。这是在回发期间完成的。
这将过滤结果,但展开/折叠节点的状态会丢失。有没有办法将展开/折叠节点存储在ViewState中?还是有更好的方法来完成这一切?
我知道自从问了这个问题以来,我知道它已经有一段时间了,但是因为最近我不得不经历这个,所以我想和可能与此相关的人分享我的经验。
这很棘手,但如果您向报告中添加多值参数,并且这些值与可触摸字段中的值相匹配,那么您可以在网格中编写一个组表达式(并在标签中使它们也可以消失)。一旦完成,你只需要跟踪什么是切换(这很难,但可以用JavaScript)。
基本上,reportviewer控件中有两个隐藏的子控件(vs2008中的索引4 & 5),其中包含事件的名称和单击的表格单元的标识, javascript并跟踪所有可触摸字段的状态。