使用矩陣控件哦,可以做動態的表頭,我供應商材料采購金額報表就是這樣做的,應該跟妳說的壹樣,橫坐標字段Name? 豎坐標MatName? 內容字段 Price
基本代碼見下面,僅供參考
?DataTable?dt?=?new?DataTable(); dt.Columns.Add(new?DataColumn("Name",?typeof(string))); dt.Columns.Add(new?DataColumn("MatName",?typeof(string))); dt.Columns.Add(new?DataColumn("Price",?typeof(decimal))); foreach(MatnrNoticeStatistica?matnrNoticeStatistica?in?list) {DataRow?dr?=?dt.NewRow();
dr["Name"]?=?matnrNoticeStatistica.Provider;//供應商
dr["MatName"]?=?matnrNoticeStatistica.MatName;//材料名稱
dr["Price"]?=?matnrNoticeStatistica.SumPrice;//金額
dt.Rows.Add(dr);
}//設置報表路徑
reportViewer1.LocalReport.ReportPath?=?Application.StartupPath?+?"ProviderPriceRate.rdlc";//設置報表數據源
this.reportViewer1.LocalReport.DataSources.Clear();
ReportDataSource?rds?=?new?ReportDataSource("DataSet1",?dt);
this.reportViewer1.LocalReport.DataSources.Add(rds);
//設置參數
...
//顯示
this.reportViewer1.RefreshReport();
‍