我有一个DataGridView,正常工作。我只是为了显示数据。

现在,我希望能够通过复选框选择行,并在单击按钮时仅对选定的行执行操作(此按钮不在同一表单上的网格中)。为此,我关注 这些 将复选框列添加到DataGridView的步骤。

运行应用程序时,看到的是,我无法通过鼠标单击或键盘选中“复选框”。从外观上看,我可以理解它不在残疾/可读状态下。因此,每当我尝试单击复选框时,它都会像启用的复选框一样更改其正常边界。但是最后,它没有选中复选框。

有帮助吗?

解决方案

试试看。

 private void Form1_Load(object sender, EventArgs e)
    {
        DataGridViewCheckBoxColumn ck = new DataGridViewCheckBoxColumn();
        dataGridView1.Columns.Insert(0,ck);
    }

可能会帮助您。

ismail 这是您对困惑的解决方案 DGV-DATABINDINGCOMPLETEEVENT

其他提示

如果要检查DGV中所有复选框的状态:

foreach (DataGridViewRow row in dataGridView1.Rows)
{
    DataGridViewCheckBoxCell chk = row.Cells[0] as DataGridViewCheckBoxCell;

    if (Convert.ToBoolean(chk.Value) == true)
      MessageBox.Show("this cell checked");

}

我经历了同样的问题。对我来说,解决方案非常简单。我的DataGridView具有禁用的编辑选项(因为我不希望用户更改数据),并且我希望能够检查/取消选中我的datagridviewcheckboxboxcolumn。因此,在DataGridView属性中,我检查了“启用编辑”选项,但是在代码中,我为除了所需的CheckboxColumn以外的每一列禁用了它。希望它对某人有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top