[英]Checkbox state Based on cell content of Datagridview Column
我在datagridview的第1列中的單元格內容如何更改復選框狀態時遇到此問題?
例如:
我有兩個列,第1列和第2列的datagridview。
第1列-表示數字/整數,如1或2,第2列-DataGridView CheckBoxColumn
案例是:
如果第1列中的單元格的值= 1,第2列是DataGridView CheckBoxColumn,則復選框狀態為“已檢查”
如果列1 = 2中的單元格的值是列2,即DataGridView CheckBoxColumn,則復選框狀態為“未檢查”
我該如何在vb.net代碼中執行此操作?
您需要遍歷網格的每一行,然后進行比較以設置CheckBox
的值
For Each row As DataGridViewRow in yourGrid.Rows
If row.Columns("Column1").Value = 1 Then
row.Columns("Column2").Value = True
Else
row.Columns("Column2").Value = False
End If
Next
您可以將其與單元格上的事件一起使用:
Public Class Form1
Private Sub Val_change(ByVal sender As System.Object, ByVal e As DataGridViewCellEventArgs) Handles DataGridView1.CellValidated
Dim val As String = Me.DataGridView1.CurrentCell.Value
If val = "1" Then
DataGridView1.Rows(0).Cells(1).Value = True
Else
DataGridView1.Rows(0).Cells(1).Value = False
End If
End Sud
End Class
如果您使用綁定到數據網格視圖的DataTable,請嘗試將新的表達式列添加到數據表並將其綁定到DataGridView中的復選框列。
新的表達式列可以如下所示
Dim checkBoxColumn As DataColumn = New DataColumn
With checkBoxColumn
.DataType = System.Type.GetType("System.Boolean")
.ColumnName = "CheckBoxColumn"
.Expression = "IIF(Column1=1 ,True,False)"
End With
'add the new column to your dataTale
myTable.Columns.Add(checkBoxColumn)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.