我的DataGridView
包含〜200行,每行包含一些用戶信息(如Last name)。當用戶選擇這些行中的任何一行時,我需要檢索選定行的ID以便查詢我的數據庫以獲取更多信息。因此,當用戶選擇一行時,我遍歷整個列表,直到找到匹配的ID。下面是可視化什麼,我說的是代碼:現在哪個DataGridView事件在一行被選中後調用
if (e.RowIndex > -1)
{
int selectedId = Convert.ToInt32(dataGridView.Rows[e.RowIndex].Cells["IdColumn"].Value);
foreach (var user in Users)
if (user.Id == selectedId)
{
SelectedUser = GetUserById(user.Id);
break;
}
}
,我使用的是這裏的事件是DataGridView.RowEnter
,這是一個問題,因爲即使在列表加載的第一次,因此該事件觸發至少執行100次以上的循環執行foreach
。
所以問題是:我應該使用哪個事件,以便上面的代碼只在選中某行後執行一次?
唐直到您加載數據後纔會連接事件。 – LarsTech
到目前爲止,這是最好的選擇,可惜你沒有發佈那個答案讓我接受 – user6807975