資料繫結原理

來源:互聯網
上載者:User

所謂資料繫結,就是把資料來源中的資料提取出來,顯示在表單的各種控制項上。使用者可以通過這些控制項查看和修改資料,這些修改會自動儲存到資料來源中。

Windows表單可以利用兩種類型的資料繫結:簡單綁定和複雜綁定。
簡單綁定指將一個控制項綁定到單個資料元素(如資料集表中列的值)的能力。這是用於TextBox或Label等控制項的典型綁定類型。
複雜綁定指將一個控制項綁定到多個資料元素的能力,通常綁定到資料庫的多條記錄。如DataGrid就可以綁定到一個DataTable,一次顯示多條記錄和多個欄位的值。

CurrencyManager cm;
//將DataGrid綁定到DataTable
this.dataGrid1.DataSource = ds.Tables[0];
//擷取資料繫結管理對象
cm = this.BindingContext[ds.Tables[0]];

//將文字框綁定到DataTable中的欄位
this.txtName.DataBindings.Add("Text",ds.Table[0],"Name");
   //this.txtName.DataBindings.Add("Text",ds,"table1.Name");

由以上代碼可以看出,給DataGrid設定資料繫結是非常簡單的,只需設定其DataSource屬性即可。而給文字框設定資料繫結,需要向其DataBingdings集合增加一項,其格式為:
"要綁定的屬性名稱",被綁定的DataTable對象,"DataTable中的欄位名"。

ADO.NET資料繫結機制:

像文字框這樣的控制項可以綁定到欄位上,這一事實本身包含以下資訊:
要綁定的自身屬性(如Text屬性)
提供資料來源的對象(如DataTable)
綁定導航字串

這些資訊被封裝起來,形成了Binding類。每個實現了資料繫結的控制項都至少有一個Binding對象,表示它的綁定資訊。

一個表單上可能有多個控制項(比如文字框)綁定到一個資料來源,這就意味著存在多個Bingding對象。因此需要一個類來管理這些對象,這個類就是BindingManagerBase類。但這個類是抽象類別,不能直接建立對象。類CurrencyManager直接繼承自BindingManagerBase類,實現了基類的所有功能,可以直接使用。

一個表單上不僅會有多個控制項綁定到一個資料來源,還可能出現多個控制項綁定到多個資料來源的情況,因此,需要一個類用於管理這些CurrencyManager對象,這就是BindingContext類的功能。每個其上有資料繫結的表單對象都至少會有一個BindingContext對象。

容器控制項(Form,GroupBox和TabControl)可以有自己的BindingContext對象。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.