當報表設計使用 XSD 定義結構時,執行期可透過強型別 DataSet 動態填充資料並綁定至 ReportViewer。
DataSet1 ds = new DataSet1();
DataRow row = ds.TABLE2.NewRow();
row[0] = 10; row[1] = 20; row[2] = 30;
ds.TABLE2.Rows.Add(row);
var rds = new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1_TABLE2", ds.TABLE2);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
"DataSet1_TABLE2" 必須與 .rdlc 內 DataSet 的 Name 屬性完全相同。Clear() 避免重複疊加導致報表顯示異常。// 假設報表還有 DataSet1_TABLE3
var rds2 = new ReportDataSource("DataSet1_TABLE3", ds.TABLE3);
ReportViewer1.LocalReport.DataSources.Add(rds2);