日期:2014-05-20  浏览次数:21016 次

如何在Webform下的rdlc报表传参?
小弟最近使用webform下的rdlc报表,需要增加了时间范围的查询,于是在.rdlc文件里的参数里添加了d1、d2两个字段(不是数据库字段,数据库中有个time字段,d1,d2是准备来定时间范围),想在.cs文件里给d1,d2字段赋值,然后通过筛选器来确认查询范围。代码如下:


protected void ObjectDataSource1_Selecting(object sender, ObjectDataSourceSelectingEventArgs e)
        {
            this.ReportViewer1.LocalReport.ReportPath = "Report1.rdlc";
            this.ReportViewer1.LocalReport.SetParameters(new ReportParameter("d1", this.d1.Value));
            this.ReportViewer1.LocalReport.SetParameters(new ReportParameter("d2", this.d2.Value));
            ReportViewer1.LocalReport.Refresh();
        }

第一个问题是在SetParameters时总是报错,
用户代码未处理 System.InvalidOperationException
  Message=查看器控件对象处于只读状态
  Source=Microsoft.ReportViewer.WebForms

第二个问题是我整个条件查询的思路对不对,添加字段和用筛选器这样是否可以实现RDLC报表的条件查询?

请各路大神广泛发表意见啊,有更好的思路或代码请帮小弟一把~


------解决方案--------------------

时间范围是动态的吗?
实在报表上实现动态的?还是网页上实现动态的?

------解决方案--------------------
嗯  就是要实现网页的报表查询,时间范围是可选择的


引用:
C# code

时间范围是动态的吗?
实在报表上实现动态的?还是网页上实现动态的?

------解决方案--------------------
为什么没人回呢  自己顶下~
------解决方案--------------------
为什么没人回呢 自己顶下~