最近在看報(bào)表這一塊,在網(wǎng)上找到的大都是連接數(shù)據(jù)庫的,對于自定義的DataTable數(shù)據(jù)沒有詳細(xì)的連接說明,經(jīng)過一番尋找,總結(jié)一下大概方法,大神請直接無視
1、添加一個(gè)數(shù)據(jù)集
點(diǎn)確定后界面如下
在空白處右鍵
修改名稱
添加行
重命名行
表效果
2、添加報(bào)表
確定后出現(xiàn)下面界面
然后添加資料數(shù)據(jù)源
點(diǎn)擊新增,選擇資料集,出現(xiàn)下面界面
輸入名稱為message,資料來源選擇DataSet1,也就是你創(chuàng)建的DataSet1文件,資料集選擇mytable,點(diǎn)擊確定
然后在工具欄里拉一個(gè)資料表到報(bào)表上,然后如下
再如下
保存,報(bào)表完成,
下面搞窗體,拉一個(gè)ReportViewer控件到窗體上,
如果工具箱內(nèi)找不到的話就自己添加進(jìn)來一個(gè),如下
然后在窗體的load事件里寫代碼 如下
1 DataTable dt = new DataTable(); 2 dt.Columns.Add(new DataColumn("row1", typeof(string))); 3 dt.Columns.Add(new DataColumn("row2", typeof(string))); 4 for (int i = 0; i < 6; i++) 5 { 6 DataRow dr = dt.NewRow(); 7 dr[0] = "a"; 8 dr[1] = "b"; 9 dt.Rows.Add(dr); 10 } 11 reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\Report1.rdlc"; 12 //指定數(shù)據(jù)集,數(shù)據(jù)集名稱后為表,不是DataSet類型的數(shù)據(jù)集 13 this.reportViewer1.LocalReport.DataSources.Clear(); 14 this.reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource("message", dt)); 15 //顯示報(bào)表 16 this.reportViewer1.RefreshReport();
運(yùn)行一下看看
注意:
第2和3行的列名要和數(shù)據(jù)集DataSet1里的列名一致
第11行的文件名要和你添加的報(bào)表文件名一致,路徑要正確
第14行的message要和報(bào)表里的那個(gè)數(shù)據(jù)集的名稱對應(yīng)
樣例下載:http://pan.baidu.com/share/link?shareid=183935&uk=33979446