我遇到这个问题,如何在我的datagridview第1列中的单元格内容中更改复选框状态?
例如:
我有这个datagridview有两列,第1列和第2列。
第1列 - 表示数字/整数,如1或2 和 第2列 - DataGridView CheckBoxColumn
案例是:
如果第1列中的单元格值= 1,第2列是DataGridView CheckBoxColumn,则复选框状态为“#34;已检查"
如果第1列中的单元格值= 2,第2列是DataGridView CheckBoxColumn,则复选框状态为" UnChecked"
我如何在vb.net代码中执行此操作?
答案 0 :(得分:0)
您需要迭代网格的每一行,然后进行比较以设置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
答案 1 :(得分:0)
您可以在单元格中使用此事件:
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
答案 2 :(得分:0)
如果您使用绑定到数据网格视图的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)