复选框状态基于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)