查询了很多地方,关于rdlc 的文章大都是vs2008或者vs2005 的,10上的很多东西都有所不同的了,找的很多属性都找不到。
其中以前的代码 不加
if (!IsPostBack)
{
//绑定报表
ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
//绑定数据源
//注意dataset1必须和你报表所引用的table 一致
ReportDataSource rds = new ReportDataSource("dataset1", ds.Table[0]);//注意这里的name和报表中的一致
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
}
就能解决,而2010 必须加上,否则将会不休止的循环从新调用load 的事件,不停的在 界面显示loading
2 微软报表 子报表 rdlc 绑定子报表数据源
想必拖一个子报表控件,然后指向一个报表文件就不用多说了,大家一定知道怎么弄。重要的是绑定子报表的数据源。当然不也为难
帖代码看吧
if (!IsPostBack)
{
//绑定报表
ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
//绑定数据源
//注意dataset1必须和你报表所引用的table 一致
ReportDataSource rds = new ReportDataSource("dataset1", ds.Table[0]);//注意这里的name和报表中的一致
this.ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(SubreportProcessingEventHandler);
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
}
void SubreportProcessingEventHandler(object sender, SubreportProcessingEventArgs e)
{
//注意dataset2必须和你子报表所引用的table 一致
e.DataSources.Add(new ReportDataSource("DataSet2", ds2.Table[0]));
}
3.分页报表 按照字段分类,比如,按人,每个人的 数据在一页上。
首先在工具栏 拖一个 list 控件,设置 list 的属性,按照某个字段分组,然后再向list中拖一个table 按照普通的写法绑定数据即可。
4.绑定参数 赋值,底层代码
ReportParameter rp = new ReportParameter("ReportTitle", “参数赋值”); ---ReportTitle为参数名称
ReportViewer1.LocalReport.SetParameters(rp);
5 Image控件使用