【发布时间】:2015-02-23 22:54:10
【问题描述】:
我有一个远程模式下的reportviewer 控件,它加载具有九个参数的报表。在某些情况下,我想限制报告中这些参数之一(下拉列表)的选项。如果我这样做:
protected void Page_Load(object sender, EventArgs e)
{
var rpt = ReportViewer1.ServerReport;
var param = rpt.GetParameters()[3];
var option = param.ValidValues[0];
param.ValidValues.Clear();
param.ValidValues.Add(option);
}
然后我第一次加载页面时,只出现那个选项。当我单击运行报告按钮并刷新报告时,所有原始选项都重新出现在列表中,并且我在报告中收到索引超出范围错误。
是否可以在页面代码中做到这一点?
【问题讨论】:
-
按钮点击事件应该在 page_load 之后运行。你能证实这是事实吗? GetParameters() 调用是否因为参数集合为空而发生超出范围异常?
-
该按钮实际上是报告的一部分,我一直无法找到直接使用它的事件处理程序(我不是开发报告的人,我只是假设使其在具有这种特殊下拉条件的站点上工作。我对 SSRS 报告或为什么内置按钮知之甚少。)我不知道异常何时发生,因为它也是那个报告。页面没有崩溃,我只是得到一些文本“索引超出范围”来代替报告的位置。
-
您好,请问您使用的是什么版本的 C# 和报告控件?
标签: c# asp.net reporting-services reportviewer reportparameter