C#圖解—Windows Forms資料繫結技術
BindingSource元件是.Net在Windows Forms資料繫結方面最重要的創舉之一,它能夠為窗體封裝資料來源,讓控制元件的資料繫結操作更加簡便。使用時,一般先在窗體上加入一個BindingSource元件,接著將BindingSource元件繫結至資料來源,最後再將窗體上的控制元件繫結至BindingSource元件。通常將BindingNavigator控制元件與BindingSource元件搭配使用,以便瀏覽BindingSource元件的資料來源。
資料繫結的示意圖如圖1所示:
1、資料繫結的具體步驟如下:
(1)設定BindingSource元件的DataMember、DataSource屬性:
DataSet ds = new DataSet();
OleDbDataAdapter da= new OleDbDataAdapter(sql,conn);
da.Fill(ds, "user"); //產生資料來源,即DataSet元件
bdsUser.DataMember = ds.Tables[0].TableName; //bdsUser為BindingSource元件
bdsUser.DataSource = ds;
(2)控制元件呼叫資料繫結方法:
public Binding Add
(
string propertyName,
Object dataSource,
string dataMember
)
propertyName
要繫結的控制元件屬性的名稱。
dataSource
表示資料來源的 Object。
dataMember
要繫結到的欄位名稱。
2、常用控制元件的資料繫結方法
(1)文字框資料繫結
一般對文字框的Text屬性進行資料繫結,程式碼如下:
txtName.DataBindings.Add("Text", bdsUser, "使用者名稱");
(2)組合框資料繫結
可分別對組合框的ValueMember、 DisplayMember屬性進行資料繫結:
cmbPriority.ValueMember = "qx";
cmbPriority.DisplayMember = "qx";
cmbPriority.DataSource =bdsQx;
另外,還可對SelectedValue屬性進行資料繫結
cmbPriority.DataBindings.Add("SelectedValue", bdsUser, "許可權");
(3)DataGridView資料繫結
DataGridView控制元件提供強大、靈活的以表格形式顯示資料的功能。可通過設定DataSource屬性為DataGridView控制元件繫結資料來源:
dgvUser.DataSource = bdsUser;
BindingNavigator控制元件是一組用來瀏覽與處理窗體資料來源的標準按鈕,包括:第一條、上一條、下一條、最後一條以及資料記錄總數。且BindingNavigator控制元件繼承了ToolStrip類的所有特性與功能,它同樣扮演了容器的角色,可以包含ToolStripLabel、ToolStripTextBox、ToolStripButton等控制元件。我們可以在窗體設計階段從下列列表框中選擇要新增至BindingNavigator的ToolStripItem控制元件,如圖2所示:
使用時,通常將BindingNavigator控制元件的BindingSource屬性設定成要瀏覽的BindingSource元件,如:
bdnUser.BindingSource = bdsUser;
4、綜合使用上述控制元件,可以完成一個基本的管理資訊系統,程式執行介面如圖3所示: