C# アプリケーションにデータ グリッド ビューがあります。行を強調表示して削除を押すと、行は削除されますが、更新および更新コマンドを実行すると、範囲外の例外が発生します
private void btnDeleteMember_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow item in this.dgvAllFaculty.SelectedRows)
{
int row = item.Index;
FacultyMember member = memberList[row];
if (row >= 0)
{
memberList.RemoveAt(row);
Save();
this.dgvAllFaculty.Update();
this.dgvAllFaculty.Refresh();
return;
}
}
}
デバッグ中に、更新呼び出しで失敗することに気付きました。エラーは次のとおりです。
System.IndexOutOfRangException: Index 1 does not have a value
at System.Windows.Forms.CurrencyManager.get_Item(Int32 index)
at
System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32 rowIndex)
他に確認する必要がある場合は、お知らせください。更新が発生しているときに、2行目がまだあると思っているのではないかと思っていますか?