Share via


建立報表的資料來源

用戶端報表定義 (.rdlc) 檔案包括定義報表所用的資料來源結構之資料集元素。 您必須先將一個或多個資料集加入報表,才能使用報表定義中的資料。 在建立資料集之後,可以將特定欄位拖曳至報表中的資料區域或文字方塊。

用戶端報表定義 (.rdlc) 檔案由 ReportViewer 控制項當做本機報表來處理。 不同於伺服器報表,本機報表的資料必須先處理,ReportViewer 控制項才能處理報表。 任何來源的資料只要可以提供為 DataTable 或商務物件的 IEnumerable 集合,本機報表就可以使用該資料。 資料表或商務物件會傳回報表可以使用的欄位清單。 每個欄位包含一個指向資料庫欄位和名稱屬性、物件資料來源之欄位,或 DataTable 之資料行的指標。 您可以將欄位從 [報表資料] 視窗拖曳至報表設計介面。

在專案中設定資料來源

建議您利用下列方法設定 DataSet 或商務物件的 IEnumerable 列舉,做為報表資料來源。 在設定資料來源之後,您就可以將 DataSet 或商務物件繫結至報表。

ms252094.collapse_all(zh-tw,VS.140).gif使用資料表

若要建立 DataTable,請使用 [專案] 功能表中的 [加入新項目] 命令,然後選取 [資料集] 物件。 將 [TableAdapter] 從 [工具箱] 拖曳至 [資料集編輯器],利用 [TableAdapter 精靈] 來設定 DataTable。 [TabaleAdapter 精靈] 會提供查詢產生器及資料預覽功能,供您立即確認查詢結果。

ms252094.collapse_all(zh-tw,VS.140).gif使用商務物件

商務物件是任何公開簡單資料類型之公用屬性的應用程式物件。 例如,應用程式建立的 Book Title 物件陣列就是可做為報表資料來源的商務物件。

若要做為可供存取的資料來源,類別必須公開傳回 IEnumerable 的方法或屬性。 您可以將類別或類別的組件參考加入至專案。

Windows Form 和 ASP.NET 專案之間的商務物件使用步驟不同。 如需在 Windows Forms 中使用商務物件的指示,請參閱逐步解說:在本機處理模式中,搭配 ReportViewer Windows Form 控制項使用商務物件資料來源。 如需在 ASP.NET 中使用商務物件的指示,請參閱逐步解說:在本機處理模式中,搭配 ReportViewer Web 伺服器控制項使用商務物件資料來源

將資料繫結至報表

報表定義 (.rdlc) 檔案繫結至 DataSet 物件或包含所需資料的商務物件。 使用報表精靈建立報表時,報表精靈會引導您完成建立包含所需資料之 DataSet 物件並將資料繫結至報表的步驟。 您也可以在 [DataSet報表資料] 視窗手動將 或商務物件繫結至報表。 這個視窗會顯示依 DataSet 物件分組、繫結至報表的所有資料集。

ms252094.collapse_all(zh-tw,VS.140).gif若要將資料集繫結至報表

  1. 在 [報表設計工具] 的 [報表資料] 視窗中,按一下 [新增],然後選取 [資料集]。

  2. 在 [資料來源] 清單方塊中,選取您所建立的 DataSet 物件。 若要建立新的 DataSet,請按一下 [新增],逐步執行 Visual Studio 提供的 [資料來源組態精靈]。 如果您已建立商務物件,請選取 [全域] 存取該商務物件。

  3. 在 [可用資料集] 清單方塊中,選取要繫結的資料。 這個清單方塊會顯示可用的 DataTable 或商務物件。

  4. 在 [名稱] 方塊中,指定這個資料集的名稱,然後按一下 [確定]。

如果定義好報表,後來又修改 DataSet 結構描述,您必須更新報表和控制項中的資料繫結。 如需詳細資訊,請參閱更新和重新繫結資料來源參考

您的報表中可以有任意數目的資料集。 若要檢視報表實際使用的資料集清單,請選取 [檢視] 功能表上的 [報表資料]。 若要在應用程式中檢視報表及其資料,您必須建立或部署應用程式來確認報表包含預期的資料。 如需關設定控制項和定義報表配置的詳細資訊,請參閱設定 ReportViewer 的本機處理建立用戶端報表定義檔案 (.rdlc)

若要立即開始作業,請利用下列逐步解說來了解如何將每個資料來源類型加入專案中:

定義 ReportViewer Web 伺服器控制項的資料來源

資料來源控制項提供抽象資料存取層次的支援,使網頁中的控制項能夠繫結到資料來源,資料來源能夠繫結到實際的資料。 這可讓您不需要將每個控制項重新繫結到每個資料片段,就能夠有效變更資料來源。

當您設計網頁時,工具箱的 [資料] 區段會列出多個資料來源控制項,如 SqlDataSourceXmlDataSource。 有些資料來源控制項會在網頁中提供分頁記憶體支援,有些資料來源控制項則使用共用資料。 報表並不使用分頁記憶體,因此,ReportViewer Web 伺服器控制項的最佳選擇是使用 ObjectDataSource 控制項。 這個控制項提供記憶體中的快取物件 (DataTable 或商務物件集合) 和報表之間的橋樑。 當您將 ReportViewer 控制項加入網頁時,會自動加入和設定 ObjectDataSource 控制項。

請參閱

參考

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

ReportViewer.Drillthrough

LocalReport.SubreportProcessing

概念

設定 ReportViewer 的遠端處理

更新和重新繫結資料來源參考

TableAdapter 概觀

其他資源

範例和逐步解說