我有一个DataGridView
它的哪一列是DataGridViewCheckBoxColumn。当我检查这一列的单元格时,我验证同一行(但不同列)中的另外两个单元格是否为0
。如果两者都是0
,那么我想要取消为复选框列输入的新值(消耗事件并忽略其上的更改)。也就是说:如果你检查它并且其他两列都是0
(在同一行),那么我想保持取消选中复选框单元格。验证DataGridView单元
我通过处理CellValidating
事件来做到这一点。在它里面,我检查这两个单元格(同一行)是否都是0
,如果是这样,并且用户已经检查了复选框单元格(也在同一行),那么我做e.Cancel = true
,为了保持未选中复选框单元格并忽略检查用户完成。
但它不工作,我已经看到,在e.RowIndex
事件CellValidating
不对应上,我刚才单击但e.ColumnIndex
是正确的行索引...
综上所述,我想的是,当用户选中某一行的复选框列时,如果其他两列的值都设置为0
对于同一行,我希望保持复选框列不变(它保持原有值,例如,如果它未被选中,用户检查它,它将保持未选中状态)。否则,如果这两列不都设置为0
,则复选框列会将其考虑在内,例如,如果它未被选中并且用户检查它,它将改变为检查。
任何想法?
请发布您处理'CellValidating'事件的代码。 – 2012-08-09 20:18:33