簡體   English   中英

基於Datagridview列的單元格內容的復選框狀態

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM