




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)綁定在Windows窗體中應(yīng)用6.1數(shù)據(jù)綁定和Windows窗體數(shù)據(jù)綁定和Windows窗體在Windows窗體中,不僅可以綁定到傳統(tǒng)的數(shù)據(jù)源,還可以綁定到幾乎所有包含數(shù)據(jù)的結(jié)構(gòu)??梢越壎ǖ街档臄?shù)組,這些值是在運行時計算,可從某個文件讀取的或者從其他控件的值派生。在傳統(tǒng)的數(shù)據(jù)綁定中,通常將顯示屬性(例如,TextBox控件的Text屬性)綁定到數(shù)據(jù)源。使用.NET框架,還可以選擇通過綁定設(shè)置其他屬性。一些綁定用途的示例包括:設(shè)置圖像(Image)控件的圖形。設(shè)置一個或多個控件的背景色。設(shè)置控件的大小。數(shù)據(jù)綁定已經(jīng)成為了運行時控件屬性的一種自動化設(shè)置手段。南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的類型Windows窗體可以利用兩種類型的數(shù)據(jù)綁定:簡單綁定和復(fù)雜綁定:(1)簡單數(shù)據(jù)綁定
簡單數(shù)據(jù)綁定指將一個控件綁定到單個數(shù)據(jù)元素(如數(shù)據(jù)集表的列中的值)的能力。這是用于控件,如TextBox控件或Label控件(即通常只顯示單個值的控件)的典型綁定類型。事實上,控件上的任何屬性都可以綁定到數(shù)據(jù)庫中的字段。(2)復(fù)雜數(shù)據(jù)綁定
復(fù)雜數(shù)據(jù)綁定指將一個控件綁定到多個數(shù)據(jù)元素的能力,通常綁定到數(shù)據(jù)庫中的多條記錄,或者綁定到多個任何其他類型的可綁定數(shù)據(jù)元素。支持復(fù)雜綁定的控件的示例有DataGrid、ListBox和ErrorProvider控件。南京理工大學(xué)計算機(jī)學(xué)院使用數(shù)據(jù)綁定的常見方案(1)報表報表提供了一種在打印文檔中顯示和匯總數(shù)據(jù)的靈活方式。一種非常常見的情況是創(chuàng)建一份將數(shù)據(jù)源的選定內(nèi)容輸出到屏幕或打印機(jī)的報表。常見的報表包括列表、發(fā)票和摘要。這些項通常格式化為列表中的列,在每個列表項下組織子項,但最明智的方式始終是選擇最適合數(shù)據(jù)的布局。南京理工大學(xué)計算機(jī)學(xué)院使用數(shù)據(jù)綁定的常見方案(2)數(shù)據(jù)輸入輸入大量相關(guān)數(shù)據(jù)或提示用戶輸入信息的一種常用方法是使用數(shù)據(jù)輸入窗體。用戶可以使用文本框、選項按鈕、下拉列表和復(fù)選框輸入信息或選擇選項。信息隨之提交并存儲到數(shù)據(jù)庫中,該數(shù)據(jù)庫的結(jié)構(gòu)基于所輸入的信息。南京理工大學(xué)計算機(jī)學(xué)院使用數(shù)據(jù)綁定的常見方案(3)主控/詳細(xì)關(guān)系主控/詳細(xì)應(yīng)用程序是一種用來查看相關(guān)數(shù)據(jù)的格式。具體地講,有兩個數(shù)據(jù)表,它們之間通過某種關(guān)系相連接(如在經(jīng)典的商業(yè)示例中,“顧客”表和“訂單”表之間存在一種將顧客與其各自的訂單鏈接起來的關(guān)系)。南京理工大學(xué)計算機(jī)學(xué)院使用數(shù)據(jù)綁定的常見方案(4)表查找另一個常見的數(shù)據(jù)表示/操作方案是表查找。作為大量數(shù)據(jù)顯示的一部分,ComboBox控件經(jīng)常用于顯示和操作數(shù)據(jù)。關(guān)鍵在于ComboBox控件中顯示的數(shù)據(jù)與寫入數(shù)據(jù)庫中的數(shù)據(jù)不同。南京理工大學(xué)計算機(jī)學(xué)院南京理工大學(xué)計算機(jī)學(xué)院6.2簡單數(shù)據(jù)綁定與復(fù)雜數(shù)據(jù)綁定簡單數(shù)據(jù)綁定與復(fù)雜數(shù)據(jù)綁定簡單綁定意味著將數(shù)據(jù)集(Dataset)中的單個值綁定到控件或窗體屬性上。組件的任何屬性都能綁定到數(shù)據(jù)集中的值。復(fù)雜數(shù)據(jù)綁定意味著組件能夠綁定到數(shù)據(jù)集。能夠應(yīng)用復(fù)雜綁定的組件包括DataGrid控件和Combobox控件。南京理工大學(xué)計算機(jī)學(xué)院簡單數(shù)據(jù)綁定與復(fù)雜數(shù)據(jù)綁定將數(shù)據(jù)表綁定到文本框組件TextBoxTextBox1=newSystem.Windows.Forms.TextBox();TextBox1.DataBindings.Add(newSystem.Windows.Forms.Binding("Text",dataSet1,"學(xué)生通訊表.聯(lián)系"));將數(shù)據(jù)表綁定到組合框組件ComboBoxcomboBox1=newSystem.Windows.Forms.ComboBox();comboBox1.DataBindings.Add(newSystem.Windows.Forms.Binding("Text",dataSet1,"學(xué)生通訊表.聯(lián)系"));comboBox1.DataSource=dataSet1;將數(shù)據(jù)表綁定到網(wǎng)絡(luò)控件DataGriddataGrid1=newSystem.Windows.Forms.DataGrid();dataGrid1.DataMember="學(xué)生通訊表";dataGrid1.DataSource=this.dataSet1;南京理工大學(xué)計算機(jī)學(xué)院南京理工大學(xué)計算機(jī)學(xué)院
6.3Windows窗體數(shù)據(jù)綁定的可選數(shù)據(jù)源數(shù)據(jù)綁定的可選數(shù)據(jù)源(1)DataTableDataTable為一個數(shù)據(jù)表,其中包含兩個集合:DataColumn,代表指定表中的數(shù)據(jù)列(最終決定可以輸入表中的數(shù)據(jù)類型);DataRow,代表指定表中的數(shù)據(jù)行,也就是表中包含的實際數(shù)據(jù)。//簡單綁定DataTablet=DataSet1.Tables["Suppliers"];TextBoxText1=newTextBox();Text1.Bindings.Add("Text",t,"CompanyName");//復(fù)雜綁定CornboBoxCombo1=newComboBox();Combo1.DataSource=t;Combo1.DisplayMember="CompanyName";南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(2)DataViewDataView為單個DataTable的定制視圖,可能的定制操作包括篩選、檢索或排序。DataView是由復(fù)雜綁定控件使用的數(shù)據(jù)“快照”。//簡單綁定DataViewdv=newDataview(DataSet1.Tables["Suppliers"]);TextBoxText1=newTextBox();Text1.Bindings.Add("Text",dv,"CompanyName");//復(fù)雜綁定ComboBoxCombo1=newComboBox();Combo1.DataSource=dv;Combo1.DisplayMember="CompanyName";南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(3)DatasetDataset是存在于內(nèi)存中的由表、關(guān)系和約束組成的存儲塊。每個表都有列的集合,這些列代表了Dataset的布局。每個表都可以包含多個行,它們代表了Dataset中的數(shù)據(jù)。這些數(shù)據(jù)知道它們的原始狀態(tài)和當(dāng)前狀態(tài)。因此,Dataset可以跟蹤已發(fā)生的變化。//簡單綁定TextBoxText1=newTextBox();Text1.Bindings.Add("Text",Dataset1,"Suppliers.CompanyName");//復(fù)雜綁定ComboBoxCombo1=newComboBox();Combo1.DataSource=Dataset1;Combo1.DisplayMember="Suppliers.CompanyName";南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(4)DataSetViewDataSetView代表整個DataSet的定制視圖,它與DataView類似,但其中還包括了關(guān)系。使用TableSetting集合可以設(shè)置默認(rèn)篩選和排序選項。//簡單綁定DataSetViewdsv=newDataSetView(DataSet1);TextBoxText1=newTextBox();Textl.Bindings.Add("Text",dsv,"Suppliers.CompanyName");//復(fù)雜綁定ComboBoxCombo1=newComboBox();Combo1.DataSource=dsv;Combo1.DisplayMember="Suppliers.CompanyName";南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(5)數(shù)組數(shù)組為變量中包含的數(shù)據(jù)的有序集合。使用索引可以訪問數(shù)組中的成員。String[]myArray=newString[3]{"Red","Blue","Green"};//簡單綁定TextBoxText1=newTextBox();Text1.Bindings.Add("Text",myArray,"");//復(fù)雜綁定ComboBoxCombo1=newComboBox();Combo1.DataSource=myArray;如下示例為TextBox控件數(shù)組與數(shù)據(jù)的綁定:TextBox[]arrTextBoxes=newTextBox[2];//填充數(shù)組,綁定到TextBox的Text屬性Label1.Bindings.Add("Text",arrTextBoxes,"Text");南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(6)集合集合為包含零個或多個對象的對象,這些對象的類型通常為簡單類。RowCollectionmyRows=DataSet1.Tables["Suppliers"].Rows;TextBoxText1=newTextBox();Text1.Bindings.Add("Text",mRows,"FirstName");(7)DataRowDataRow為橫向交叉表中實際包含數(shù)據(jù)的對象。每個DataRow都由三個DataRowView組成:一個為行的當(dāng)前狀態(tài),一個為行的原始狀態(tài);一個為行的建議狀態(tài)。南京理工大學(xué)計算機(jī)學(xué)院數(shù)據(jù)綁定的可選數(shù)據(jù)源(8)DataRowViewDataRowView為篩選后的DataRow視圖。例如,被刪除的行值。(9)CurrencyManager通過數(shù)組管理位置。雖然過去使用MoveNext,MovePrevious方法,但現(xiàn)在位置是遞增的(即Position=Position+1)。(10)DataColumnDataColumn為DataTable中的一個數(shù)據(jù)列。DataTable中DataColumn對象的集合定義了表的結(jié)構(gòu)。該對象最重要的屬性為DataType,它定義了其中可包含的數(shù)據(jù)類型,例如Int32、String、Currency等。(11)BindingBinding用于表字段到控件屬性的簡單綁定。南京理工大學(xué)計算機(jī)學(xué)院南京理工大學(xué)計算機(jī)學(xué)院6.4創(chuàng)建簡單綁定控件將控件的屬性綁定到數(shù)據(jù)值步驟①在窗體中選擇將進(jìn)行數(shù)據(jù)綁定的控件。②展開DataBindings屬性,如圖5-1所示。經(jīng)常用到的數(shù)據(jù)綁定屬性列于DataBindings下。例如,在大多數(shù)控件中,Text屬性是最常使用的綁定屬性。③如果希望綁定的屬性未被列出,請單擊“(高級)”框中的“省略號”按鈕,以顯示“高級數(shù)據(jù)綁定”對話框。該對話框中包含該控件屬性的完整列表。④單擊將綁定的屬性右側(cè)的下拉箭頭,則將顯示可用的數(shù)據(jù)源清單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新素養(yǎng)視角下高中數(shù)學(xué)高效課堂的構(gòu)建
- 中學(xué)教育基礎(chǔ)知到課后答案智慧樹章節(jié)測試答案2025年春白城師范學(xué)院
- 三級人力資源管理師-《企業(yè)人力資源管理師(理論知識)》考前強(qiáng)化模擬卷1
- 高考物理課標(biāo)版一輪復(fù)習(xí)考點規(guī)范練19動量動量定理動量守恒定律的理解
- 重慶市復(fù)旦中學(xué)2024-2025學(xué)年高一下學(xué)期開學(xué)考試生物試題(原卷版)
- 揭陽中式花園施工方案
- 湖南省衡陽縣三中2017-2018學(xué)年高二上學(xué)期期中考試歷史試卷
- 廣東省惠州市惠東中學(xué)2017-2018學(xué)年高三5月熱身綜合練習(xí)生物(二)答案
- 浙江省寧波市2024-2025學(xué)年高三上學(xué)期期末模擬檢測語文試題(原卷版+解析版)
- 河南省南陽市鎮(zhèn)平縣2024-2025學(xué)年七年級上學(xué)期期末語文試題(原卷版+解析版)
- 邊坡開挖施工要求
- 數(shù)字圖像處理-6第六章圖像去噪課件
- 監(jiān)理施工設(shè)計圖紙簽發(fā)表
- 部編版六年級下冊語文教案(全冊)
- 2022年湖北成人學(xué)士學(xué)位英語真題及答案
- DB43∕T 801-2013 二次張拉低回縮鋼絞線豎向預(yù)應(yīng)力短索錨固體系設(shè)計、施工和驗收規(guī)范
- 附表1:網(wǎng)絡(luò)及信息安全自查表
- 奇妙的海洋生物
- 公共場所健康證體檢表
- 普通高等學(xué)校獨立學(xué)院教育工作合格評估指標(biāo)體系(第六稿)
- 多維閱讀第13級—A Stolen Baby 小猩猩被偷走了
評論
0/150
提交評論