我有一個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