复选框状态基于Datagridview的单元格内容列
问题描述:
我有这个问题,当我在datagridview的列1中的单元格内容时,如何使复选框状态更改?复选框状态基于Datagridview的单元格内容列
例如:
我有这样的datagridview具有两列,列1和列2
列1 - 表示的数字/整数像1或2 和 柱2 - 的DataGridView CheckBoxColumn
案例是:
如果小区的列中的值1 = 1,这是在DataGridView CheckBoxColumn第2栏,复选框状态“经过”
如果
我如何做到这一点在vb.net代码单元的第1列= 2,列2中的值,其在DataGridView CheckBoxColumn,复选框状态是“未选中状态”?
答
您需要遍历网格的每一行,然后进行比较来设置的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)