我在DataGridView Windows窗体中有一个复选框,并有一个事件处理程序单元格单击
在单元格单击时,我选中DataGridView列中的复选框,如果该单元格也被选中(即复选框未选中且仅选中DataGrid视图单元格),并且该复选框未被选中,则该复选框显示为true。我尝试了getType列,并找到了它显示的类型DataGridViewCheckBox但选中的值错误。????

最佳答案

如果我理解正确,您是说复选框值与基础数据不一致?
这很可能是因为数据已经更新并且是“脏的”,例如,它还没有提交到数据源。如果添加这样的事件处理程序:

private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
   if (dataGridView1.CurrentCell is System.Windows.Forms.DataGridViewCheckBoxCell)
   {
      dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
   }
}

然后,这将更新数据源,在查询单元格时,您将拥有正确的复选框状态。

关于c# - DatagridView复选框已选中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/673361/

10-13 06:51
查看更多