原文地址:http://www.sdfengxi.com/archives/243
今天在項目中遇到一個問題,在更改DataGridview的綁定數據源為循環list為每一列賦值之后(之前為直接通過dgvMain.DataSource=list的方式綁定),在RowEnter事件中報錯提示無法獲取到單元格的值。
搜索了下這個問題,原來rowEnter會有四次激發該事件的時機,當DataGridView在最初加載時也發生RowEnter事件,只有最后一次是必須的,如何避免不必要的事件過程,可以檢測CurrentRow參數,當CurrentRow無效時,不執行RowEnter事件代碼,從而提高系統的響應效率。
使用c#來說可以通過判斷datagridview的CurrentRow==null來判斷是否需要執行該事件,like
private void dgvU8BillList_RowEnter(object sender, DataGridViewCellEventArgs e) { if (dgvU8BillList.CurrenRow == null) return;
