首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> .NET 實例教學

ReportViewer 動態指定資料來源的程式碼範例

     編輯:.NET 實例教學

情境說明

在 ASP.NET 中使用 ReportViewer 控件時,報表設計階段通常需一個 XSD 資料集結構描述以利拖拉欄位。但在執行期,我們往往需要動態建立資料並指派給報表。以下示範如何以程式碼完成此操作。

完整程式碼

// 1. 建立強型別 DataSet 實例 (對應報表設計時的 .xsd)
DataSet1 ds = new DataSet1();

// 2. 新增一筆測試資料
DataRow dr = ds.TABLE2.NewRow();
dr[0] = 1;
dr[1] = 2;
dr[2] = 3;
ds.TABLE2.Rows.Add(dr);

// 3. 建立 ReportDataSource,名稱需與報表 .rdlc 中定義的 DataSet 名稱一致
// 格式通常為 "DataSet名稱_Table名稱"
Microsoft.Reporting.WebForms.ReportDataSource rds = 
    new Microsoft.Reporting.WebForms.ReportDataSource("DataSet1_TABLE2", ds.TABLE2);

// 4. 綁定至 ReportViewer
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);

// 5. (可選) 重新整理報表
ReportViewer1.LocalReport.Refresh();

關鍵點補充

  • XSD 的角色: 設計報表時,Visual Studio 會根據 XSD 產生強型別 DataSet 類別(此處為 DataSet1),確保欄位名稱、型別與報表定義一致。
  • DataSource 名稱對應: ReportDataSource 建構子的第一個參數必須完全等於 .rdlc 中 DataSet 的 Name 屬性值(可在報表資料窗格中查看)。
  • 多資料表: 若報表包含多個資料表,需分別建立 ReportDataSource 並全部加入 DataSources 集合。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved