📜  datagridcheckboxcolumn 不包含 Checked 的定义 (1)

📅  最后修改于: 2023-12-03 15:30:22.615000             🧑  作者: Mango

DatagridCheckboxColumn 不包含 Checked

DatagridCheckboxColumn 是一种在数据网格视图中显示复选框的列类型。与其他列类型不同的是,DatagridCheckboxColumn 不包含 Checked 属性。这意味着,当用户点击复选框时,不会向数据源发送任何更改事件,也不会更改行的选中状态。

相反,DatagridCheckboxColumn 触发一个名为 OnCheckedChanged 的事件,该事件由调用方自行处理。这使得开发人员能够以自己的方式处理行复选框被选中时所需的逻辑。

下面是一些示例代码,介绍如何在 DatagridCheckboxColumn 中使用 OnCheckedChanged 事件:

private void dataGridView1_OnCheckedChanged(object sender, EventArgs e)
{
    DataGridViewCheckBoxCell checkBoxCell = (DataGridViewCheckBoxCell)dataGridView1.CurrentCell;
    if ((bool)checkBoxCell.Value)
    {
        // 当复选框被选中时执行的逻辑
    }
    else
    {
        // 当复选框被取消选中时执行的逻辑
    }
}
Private Sub DataGridView1_OnCheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
    Dim checkBoxCell As DataGridViewCheckBoxCell = CType(DataGridView1.CurrentCell, DataGridViewCheckBoxCell)
    If CBool(checkBoxCell.Value) Then
        ' 当复选框被选中时执行的逻辑
    Else
        ' 当复选框被取消选中时执行的逻辑
    End If
End Sub

注意,DatagridCheckboxColumn 不会自动更改数据源或行选中状态。您需要在 OnCheckedChanged 事件中将更改应用于数据源并更新行选中状态,以达到您所需的行为。