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