DataGridView控制元件---繫結資料方法
DataGridView控制元件是在windows應用程中顯示資料最好的方式,它只需要幾行簡短的程式碼就可以把資料顯示給使用者,同時又支援增、刪、改操作。今天將自己總結的增加資料的方法總結分享給大家
關於DataGridView的一些屬性介紹大家可以參照百度百科,我在這裡主要寫如何用兩種方法去實現繫結資料
1.非繫結模式
所謂的非繫結模式就是dataGridView控制元件顯示的資料不是來自於繫結的資料來源,而是可以通過程式碼手動將資料填充到DataGridView控制元件中,這樣就為DataGridView控制元件增加了很大的靈活性
在此我們先來了解一下DataGridView
類 |
說明 |
DataGridViewTextBoxColumn |
與基於文字的值一起使用,在繫結到數字和字串型別的值時自動生成 |
DataGridViewCheckBoxColumn |
與boolean和checkState值一起使用,在繫結到這些型別的值時自動生成 |
DataGridViewImageColumn |
用於顯示影象,在繫結到位元組陣列、Image物件或Icon物件自動生成 |
DataGridViewButtonColumn |
用於在單元格中顯示按鈕,不會在繫結時自動生成,通常用來做未繫結列 |
DataGridViewComboBoxColumn |
使用者在單元格中顯示下拉列表,不會在繫結時自動生成,通常收到進行資料繫結 |
DataGridViewLinkColumn |
用於在單元格中顯示超連結,不會在繫結時自動生成,通常需要進行手動繫結資料 |
瞭解了這些看下面的例子
'建立一個顯示textBox的列() Dim col1 As DataGridViewTextBoxColumn =New DataGridViewTextBoxColumn() col1.Name = "Name" col1.HeaderText = "姓名" '設定標題中顯示的文字 Dim col3 As DataGridViewTextBoxColumn = NewDataGridViewTextBoxColumn() col3.Name = "sex" col3.HeaderText = "性別" '將新建的列新增到控制元件中 DataGridView1.Columns.Add(col1) DataGridView1.Columns.Add(col3) '新增行 '建立新行 Dim row As DataGridViewRow = NewDataGridViewRow() row.CreateCells(DataGridView1) '設定單元格的值 row.Cells(0).Value = "張三" row.Cells(1).Value = "男" DataGridView1.Rows.Add(row) '新增第二行 Dim row1 As String() = {"李四", "男"} DataGridView1.Rows.Add(row1)
另外對於新增標題列也可以不用程式碼新增,而是通過手動新增列操作步驟如下
1,點選DataGridView控制元件就可以看到一個小三角,點選小三角彈出選單 選擇編輯列如下所示
編輯列:
同時也可以修改列的屬性
2 繫結模式
將存在的資料繫結到控制元件上,我是將資料庫表中的資料繫結到控制元件上,我將使用者表中的使用者名稱,密碼,開戶人資訊繫結到控制元件上,具體步驟如下我在在窗體的Load事件下來完成這些步驟的
參考程式碼:
'連線資料庫
Dim cnStr As String = "PersistSecurity Info=False;User ID=sa;Initial Catalog=studentSystem;DataSource=192.168.24.74;pwd=123456"
Dim cn As SqlConnection = NewSqlConnection(cnStr)
cn.Open() '開啟資料庫
Dim sql AsString = "select U_ID as 使用者名稱 ,U_passwordas 密碼,U_head as 開戶人 from T_user"
Dim cmd As SqlCommand = NewSqlCommand(sql, cn)
Dim da As SqlDataAdapter = NewSqlDataAdapter()
da.SelectCommand = cmd
Dim ds As DataSet = New DataSet()
da.Fill(ds,"T_user") '填充資料集
'繫結資料集
DataGridView1.DataSource = ds
DataGridView1.DataMember ="T_user"
執行效果圖
此中執行效果和非繫結模式下顯示的相同,但方法卻截然不同,而我在新增標題列時是利用的SQL語句實現的
Dim sql As String ="select U_ID as 使用者名稱 ,U_password as 密碼,U_head as 開戶人 from T_user" 對於這一部分,我們也可以通過不同的程式碼來實現它具體程式碼和上述區別在於 SQL語句處Dim sql As String = "select U_ID ,U_password,U_head from T_user"這樣寫,在繫結好了資料集後在設定標題列程式碼如下:
'設定標題第0列
DataGridView1.Columns(0).HeaderText = "使用者名稱"
'凍結標題 也就是標題不會隨著資料的移動而消失
DataGridView1.Columns(0).Frozen = True
'新增第一列標題
DataGridView1.Columns(1).HeaderText = "姓名"
DataGridView1.Columns(1).Frozen = True
'設定第二列標題
DataGridView1.Columns(2).HeaderText = "開戶人"
DataGridView1.Columns(2).Frozen = True
這樣編寫和我們在SQL語句中就定義標題列的效果是一樣的
以上就是我在利用DataGridView控制元件繫結資料所嘗試的兩種方法!關於DataGridView控制元件的其他使用方法會在下面的部落格中發表,歡迎指正