DataGridView加入CheckBox列 (VB)
項目中需要一個這樣的DataGridView(字段不同):
1. DataSource綁定到一個DataTable上,這里假設DataTable有兩個字段:ID, Name。
2. 第一列為CheckBox,讓用戶來選,提交的時候就提交CheckBox選中的。
??? 我開始的時候是先在DataGridView初始化的時候就加入一列CheckBox,然后再把DataSource賦為那個DataTable,這樣一來,顯示是正常的,CheckBox也可以選,但是當我點擊列頭(是這樣說的么)來排序的時候,原來選中的那些CheckBox又都恢復初始化值了,然后就開始了一個一個檢查DataGridView, DataGridViewRow, DataGridViewCheckBoxCell....的無數屬性,事件,方法看看有沒有什么解決方法,郁悶的幾個小時過去了。最后在MSDN中看到DataGridView不會維護未綁定的列的數據,也就是說排序的時候重新刷新了DataSource,而那些保存了哪些CheckBox的數據都丟掉了。
??? 原因找到了,然后就好辦了,加一列到那個DataTable中去然后再綁定到DataSource上,另外初始化的時候不要在加入那列CheckBox,綁定的時候會自動加入。貼一小段,大概就這個意思。
Dim dt As New DataTable
dt.Columns.Add("IsSelected", System.Type.GetType("System.Boolean"))
dt.Columns.Add("ID")
dt.Columns.Add("Name")
Dim dr As DataRow = dt.NewRow()
dr("IsSelected") = True
dr("ID") = "1"
dr("Name") = "Tracy"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("IsSelected") = True
dr("ID") = "11"
dr("Name") = "Yao"
dt.Rows.Add(dr)
DataGridView1.DataSource = dt
轉載于:https://www.cnblogs.com/no7dw/archive/2009/07/28/1533350.html
總結
以上是生活随笔為你收集整理的DataGridView加入CheckBox列 (VB)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何用DELPHI实现把WORD、EXC
- 下一篇: QTP- 对输入格式的检查