我有一个DataGridView
它的哪一列是 DataGridViewCheckBoxColumn。当我检查此列的一个单元格时,我验证同一行(但在不同列中)中的其他两个单元格是否为0
. 如果两者都是0
,那么我想取消为复选框列输入的新值(使用该事件并忽略它的更改)。也就是说:如果您选中它并且其他两列都0
(在同一行中),那么我想保持取消选中复选框单元格。
我通过处理CellValidating
事件来做到这一点。在其中我检查这两个单元格(在同一行中)是否都是0
,如果是,并且用户已经检查了复选框单元格(也在同一行中),那么我会这样做e.Cancel = true
,以保持未选中复选框单元格并忽略检查完成由用户。
但它不起作用,我看到e.RowIndex
事件与我刚刚单击但正确CellValidating
的行索引不对应......e.ColumnIndex
总之,我想要的是,当用户检查一行的复选框列时,如果其他两列的值都设置0
为同一行,我想保持复选框列不变(它保持其旧值,对于例如,如果它未选中并且用户检查了它,它将保持未选中状态)。否则,如果这两个列都没有设置为0
,复选框列将考虑它,例如,如果它未选中并且用户选中它,它将更改为选中。
有任何想法吗?