查詢了很多地方,關(guān)于rdlc 的文章大都是vs2008或者vs2005 的,10上的很多東西都有所不同的了,找的很多屬性都找不到。
其中以前的代碼 不加
if (!IsPostBack)
{
//綁定報表
ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
//綁定數(shù)據(jù)源
//注意dataset1必須和你報表所引用的table 一致
ReportDataSource rds = new ReportDataSource("dataset1", ds.Table[0]);//注意這里的name和報表中的一致
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
}
就能解決,而2010 必須加上,否則將會不休止的循環(huán)從新調(diào)用load 的事件,不停的在 界面顯示loading
2 微軟報表 子報表 rdlc 綁定子報表數(shù)據(jù)源
想必拖一個子報表控件,然后指向一個報表文件就不用多說了,大家一定知道怎么弄。重要的是綁定子報表的數(shù)據(jù)源。當然不也為難
帖代碼看吧
if (!IsPostBack)
{
//綁定報表
ReportViewer1.LocalReport.ReportPath = MapPath( "Report1.rdlc");
//綁定數(shù)據(jù)源
//注意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.分頁報表 按照字段分類,比如,按人,每個人的 數(shù)據(jù)在一頁上。
首先在工具欄 拖一個 list 控件,設(shè)置 list 的屬性,按照某個字段分組,然后再向list中拖一個table 按照普通的寫法綁定數(shù)據(jù)即可。
4.綁定參數(shù) 賦值,底層代碼
ReportParameter rp = new ReportParameter("ReportTitle", “參數(shù)賦值”); ---ReportTitle為參數(shù)名稱
ReportViewer1.LocalReport.SetParameters(rp);
5 Image控件使用