2011-08-16 34 views
0

我有一個定義爲Web窗體(aspx)的報告。它被劃分爲我已經分類的部分,其中每個部分都有一個標題,可選的描述,然後是表格(GridViews),圖表(用戶控件與asp:圖表控件)或細節(例如HTML 定義列表 )。目前報告被明確填充,即Page_Load中的代碼分配DataSource屬性並在GridViews和Charts上調用DataBind,明確地將標量值分配給標籤控件以獲取詳細信息部分。我想建立一個單一的數據集類型對象(最初是一個無類型的數據集,但最終是任何對象圖),並將其分配給整個報表上的DataSource屬性,並調用報表的DataBind方法。這應該將數據綁定委派給報告部分,例如我在報告的PropertyDetails部分將DataMember屬性設置爲「PropertyDetails」,以便PropertyDetails部分從我的大報告數據集中的「PropertyDetails」數據表呈現報告值。如何將數據綁定到ASP.NET Web窗體報表?

我應該如何構建我的報告頁面(或控件)以促進此操作?理想情況下,我喜歡類似於GridView或DataList控件的聲明式結構,但沒有重複元素,即每個報表部分都不同,與GridView或DataList中的'rows'不同;實際上更像是一個GridView中的列。

回答

2

包裝你的數據到DataSet簡單地繼承了BaseDataBoundControl類報告後。

然後你可以直接對它進行DataBind。

+0

+1爲漂亮的指針@ user357320,但我實際上也在尋找構建報告的建議,例如,所以個別部分被綁定到主數據集的不同成員等。 – ProfK

+0

當數據綁定報表(它從BaseDataBoundControl繼承)將DataBind它將貫穿每個部分(其也將繼承自BaseDataBoundControl)。每個部分都有一個「DataName」(**不是** DataMember),Report將用它在DataBinding之前設置DataSource的DataSource(通過從DB讀取DataName表並創建DataSet)。我以前在動態表單輸入應用程序中成功地使用了此方法。 – Karlth

+0

謝謝,忙於構建一個具有瑣碎數據的示例報告以獲得此感受。 – ProfK

相關問題