Windows Forms數(shù)據(jù)綁定技術(shù)
BindingSource組件是.Net在Windows Forms數(shù)據(jù)綁定方面最重要的創(chuàng)舉之一,它能夠為窗體封裝數(shù)據(jù)源,讓控件的數(shù)據(jù)綁定操作更加簡便。使用時,一般先在窗體上加入一個BindingSource組件,接著將BindingSource組件綁定至數(shù)據(jù)源,最后再將窗體上的控件綁定至BindingSource組件。通常將BindingNavigator控件與BindingSource組件搭配使用,以便瀏覽BindingSource組件的數(shù)據(jù)源。
數(shù)據(jù)綁定的示意圖如圖1所示:
1、數(shù)據(jù)綁定的具體步驟如下:
(1)設(shè)置BindingSource組件的DataMember、DataSource屬性:
- DataSet ds = new DataSet();
- OleDbDataAdapter da= new OleDbDataAdapter(sql,conn);
- da.Fill(ds, "user"); //產(chǎn)生數(shù)據(jù)源,即DataSet組件
- bdsUser.DataMember = ds.Tables[0].TableName; //bdsUser為BindingSource組件
- bdsUser.DataSource = ds;
(2)控件調(diào)用數(shù)據(jù)綁定方法:
- public Binding Add (
- string propertyName,
- Object dataSource,
- string dataMember
- )
propertyName
要綁定的控件屬性的名稱。
dataSource
表示數(shù)據(jù)源的 Object。
dataMember
要綁定到的字段名稱。
2、常用控件的數(shù)據(jù)綁定方法
(1)文本框數(shù)據(jù)綁定
一般對文本框的Text屬性進(jìn)行數(shù)據(jù)綁定,代碼如下:
- txtName.DataBindings.Add("Text", bdsUser, "用戶名");
(2)組合框數(shù)據(jù)綁定
可分別對組合框的ValueMember、 DisplayMember屬性進(jìn)行數(shù)據(jù)綁定:
- cmbPriority.ValueMember = "qx";
- cmbPriority.DisplayMember = "qx";
- cmbPriority.DataSource =bdsQx;
另外,還可對SelectedValue屬性進(jìn)行數(shù)據(jù)綁定
- cmbPriority.DataBindings.Add("SelectedValue", bdsUser, "權(quán)限");
(3)DataGridView數(shù)據(jù)綁定
DataGridView控件提供強(qiáng)大、靈活的以表格形式顯示數(shù)據(jù)的功能。可通過設(shè)置DataSource屬性為DataGridView控件綁定數(shù)據(jù)源:
- dgvUser.DataSource = bdsUser;
BindingNavigator控件是一組用來瀏覽與處理窗體數(shù)據(jù)源的標(biāo)準(zhǔn)按鈕,包括:第一條、上一條、下一條、最后一條以及數(shù)據(jù)記錄總數(shù)。且BindingNavigator控件繼承了ToolStrip類的所有特性與功能,它同樣扮演了容器的角色,可以包含ToolStripLabel、ToolStripTextBox、ToolStripButton等控件。我們可以在窗體設(shè)計階段從下列列表框中選擇要添加至BindingNavigator的ToolStripItem控件,如圖2所示:
使用時,通常將BindingNavigator控件的BindingSource屬性設(shè)置成要瀏覽的BindingSource組件,如:
bdnUser.BindingSource = bdsUser;
4、綜合使用上述控件,可以完成一個基本的管理信息系統(tǒng),程序運(yùn)行界面如圖3所示:
完整的代碼就不再贅敘,可點(diǎn)擊下載(說明:為簡化代碼,數(shù)據(jù)庫中未建立權(quán)限表)。
原文鏈接:http://www.cnblogs.com/zhouhb/archive/2010/12/19/1910621.html
【編輯推薦】