我有一个DataGridView复选框。复选框被自动引入,因为我的数据源有一个布尔型“Selected”属性(如果有的话)。覆盖检查事件
使用谷歌搜索forums在这里我已经能够实现一个互相排斥机制的工作好。
// unselect all the other ones
foreach (DataGridViewRow dgvr in dataGridView1.Rows)
{
((DataGridViewCheckBoxCell)dgvr.Cells[e.ColumnIndex]).Value = false;
}
dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = true;
问题是如果用户单击一个复选框,该框取消选中。这里的用例是必须始终选择一些东西。
我的第一种方法是确保现有列索引的值设置为true。它是。但问题仍然存在......
我的第二种方法是将DataGridViewCellEventArgs的处理事件设置为true,以阻止任何下游事件干扰我们的特定用例条件。显然这个类没有处理过的属性(它的基类也没有)。
我的第三种方法是调用Application.DoEvents()一万次,然后将Value设置为true以查看是否取消选中该框将在该处处理,然后我可以撤消它。但显然这个过程直到事件处理程序方法完成之后才会发生。
我该怎么做?
你的问题我也不清楚。我没有得到你想要的datagridview,你想做一些类似你发布的代码,但你不想使用'foreach'或者任何'loop'? –
@KingKing:嗯,我想我需要那个。问题是,有些如何似乎有一些其他过程,不检查我在那里检查了什么。 – micahhoover