翻譯|使用教程|編輯:楊鵬連|2021-04-08 11:26:24.167|閱讀 171 次
概述:本文介紹了幾種方法可以在MindFusion.Reporting報表中創(chuàng)建數(shù)據(jù)綁定的內容。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
MindFusion.Reporting for WinForms是一個原生的Windows Forms編程組件,它為任何.NET應用程序提供專業(yè)的報表功能。該組件完全使用C#語言編寫,易于使用和集成。它提供您創(chuàng)建一個完美報表所需要的一切。MindFusion.Reporting for WinForms現(xiàn)已加入在線訂購,Standard Single Developer版本原價2848現(xiàn)在搶購立享優(yōu)惠只需2345,立即查看詳情>>
點擊下載MindFusion.Reporting for WinForms最新試用版
有幾種方法可以在MindFusion.Reporting報表中創(chuàng)建數(shù)據(jù)綁定的內容。大多數(shù)的數(shù)據(jù)綁定機制涉及到使用一個或多個DataRange對象。也可以在數(shù)據(jù)范圍之外創(chuàng)建數(shù)據(jù)綁定的Chart對象。
注釋說明
下面的章節(jié)假定您已經(jīng)熟悉了向.NET應用程序添加數(shù)據(jù)源的過程。有關如何進行此操作的分步教程。
使用DataRange對象
為了執(zhí)行數(shù)據(jù)綁定,你必須創(chuàng)建一個DataRange對象并將其添加到報表中。然后將適當?shù)臄?shù)據(jù)源分配給數(shù)據(jù)范圍的DataSource屬性,并將相應的數(shù)據(jù)成員(通常是表或視圖)的名稱分配給其DataMember屬性。您可以從報表設計器中的屬性網(wǎng)格或直接通過代碼來完成這項工作。
在下面的示例中,一個數(shù)據(jù)范圍被綁定到現(xiàn)有數(shù)據(jù)集中的 Employees 表。
c#
this.dataRange1.DataSource = this.nwindDataSet1; this.dataRange1.DataMember = "Employees";Visual Basic
Me.dataRange1.DataSource = Me.nwindDataSet1 Me.dataRange1.DataMember = "Employees"上述代碼假設dataRange1標識了現(xiàn)有的DataRange對象和nwindDataSet1--一個現(xiàn)有的.NET DataSet對象。
一旦數(shù)據(jù)范圍被綁定到數(shù)據(jù)源,您就可以將該數(shù)據(jù)范圍中包含的報表項與綁定的數(shù)據(jù)成員中的各個字段相關聯(lián),方法是將字段的名稱分配給項的DataField屬性。在本例中,如果我們假設在數(shù)據(jù)范圍內有一個標簽label1,我們可以通過將 "FirstName "分配給標簽的DataField屬性,將這個標簽與雇員表中的 "FirstName "字段關聯(lián)起來。
C#
this.label1.DataField = "FirstName"Visual Basic
Me.label1.DataField="FirstName"當運行報表時,數(shù)據(jù)范圍將被乘以雇員表中有記錄的次數(shù)。數(shù)據(jù)范圍中每次出現(xiàn)的標簽1將包含對應記錄中的雇員的 "FirstName"。
注意事項
目前,還不能在頁眉和頁腳中創(chuàng)建數(shù)據(jù)綁定的DataRange對象。
主細節(jié)關系
MindFusion.Reporting通過數(shù)據(jù)范圍組成支持主細節(jié)關系。你需要創(chuàng)建一個數(shù)據(jù)范圍,綁定到其中一個數(shù)據(jù)成員。然后,你需要創(chuàng)建另一個數(shù)據(jù)范圍,作為第一個數(shù)據(jù)范圍的子數(shù)據(jù)范圍,綁定到與第一個數(shù)據(jù)成員相關的數(shù)據(jù)成員。最后,你必須指定關系的名稱作為內部數(shù)據(jù)范圍的MasterDetailRelation屬性的值。下面的代碼說明了這一點。
C#
this.innerRange.DataMember = "Products"; this.innerRange.MasterDetailRelation = "CategoriesProducts"; this.externalRange.DataSource = this.nwindDataSet1; this.externalRange.DataMember = "Categories"; this.externalRange.Items.Add(this.innerRange);Visual Basic
Me.innerRange.DataSource = Me.nwindDataSet1; Me.innerRange.DataMember = "Products" Me.innerRange.MasterDetailRelation="CategoriesProducts" Me.externalRange.DataSource = Me.nwindDataSet1 Me.externalRange.DataMember = "Categories" Me.extraRange.Items.Add(Me.innerRange)該代碼做了許多假設,包括由innerRange和 outerRange引用的DataRange對象的正確性,以及 "Categories "和 "Products "數(shù)據(jù)成員在指定數(shù)據(jù)集中的可用性。
通過報表設計器可以很容易地將內部數(shù)據(jù)范圍拖到外部數(shù)據(jù)范圍,從而實現(xiàn)數(shù)據(jù)范圍的組成。
自動化
可以在報表設計器中自動創(chuàng)建數(shù)據(jù)綁定的DataRange對象。這種自動創(chuàng)建包括自動設置數(shù)據(jù)范圍的DataSource和DataMember屬性,以及向新的數(shù)據(jù)范圍添加一個或多個代表單個數(shù)據(jù)字段的標簽。也可以創(chuàng)建一個標題,包含帶有各列名稱的靜態(tài)標簽文本。
要創(chuàng)建一個數(shù)據(jù)綁定的DataRange對象,請在報表設計器中的頁面表面的任意位置右擊,并從上下文菜單中選擇 "Create DataRange from Adapter... "命令。該命令會顯示一個對話框,其中包含報表中當前可用的表適配器。為了使其工作,您必須在報表中至少創(chuàng)建一個數(shù)據(jù)適配器,以創(chuàng)建新的數(shù)據(jù)范圍。下圖顯示了該對話框的樣子。
數(shù)據(jù)綁定圖表對象
有一種類型的MindFusion.Reporting元素可以不需要將它們放置在數(shù)據(jù)綁定的DataRange對象中就可以進行數(shù)據(jù)綁定,即從Chart派生的類--BarChart、LineChart、PieChart和RadarChart。關于這些元素以及如何在報表中使用它們的更多信息,請查看報表中的圖表。
與數(shù)據(jù)范圍一樣,你可以通過使用它們的DataSource和DataMember分別指定數(shù)據(jù)源和成員來綁定Chart對象。然后你需要通過適當?shù)膶傩詠碇付ㄒ壎ǖ淖侄巍H绻阆霐?shù)據(jù)綁定一個BarChart對象,你應該將數(shù)據(jù)字段的名稱分配給它的DataFields屬性。如果要綁定一個PieChart,應該將數(shù)據(jù)字段的名稱分配給它的DataField屬性。要綁定一個LineChart,應使用它的XDataFields和YDataFields屬性。最后,要綁定一個RadarChart,使用它的DataFields屬性。
例如,下面的代碼將由變量barChart1引用的BarChart對象綁定到一個數(shù)據(jù)源的表 "Products "中的字段 "UnitPrice "上,該數(shù)據(jù)源由變量dataSet1引用的.NET數(shù)據(jù)集識別。
C#
this.barChart1.DataFields = "UnitPrice"; this.barChart1.DataMember = "Products"; this.barChart1.DataSource = this.dataSet1;
Visual Basic
Me.barChart1.DataFields="UnitPrice" Me.barChart1.DataMember = "Products" Me.barChart1.DataSource = Me.dataSet1Chart對象提供了其他可以進行數(shù)據(jù)綁定的屬性。例如,BarChart 類的 XLabelsFields 屬性可以設置為字段的名稱,以提供橫跨 x 軸的標簽文本。為了使這種綁定有效,您還必須將BarChart類的XAxisSettings屬性的LabelType屬性設置為CustomText。下面是如何在代碼中實現(xiàn)這一點。
this.barChart1.XLabelsFields = "ProductName"; this.barChart1.XAxisSettings.LabelType = MindFusion.Charting.AxisLabelType.CustomText;Visual Basic
Me.barChart1.XLabelsFields="ProductName" Me.barChart1.XAxisSettings.LabelType = MindFusion.Charting.AxisLabelType.CustomText;
本站文章除注明轉載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: