-2
でなければならない、私は私の勝利の形でのDataGridViewを持って、私は削除のすべてが正常に動作しますが、私は列のヘッダーをクリックしたときに実行するために選択されたからチケット番号の値を取得するには、セルをクリックしてイベントを使用しています: DataGridViewインデックスが範囲外でした。非負
は、私はこのエラーに
System.ArgumentOutOfRangeExceptionが出ます:「インデックスが範囲外でした。負でなく、コレクションのサイズより小さくなければなりません。 パラメータ名:インデックス」 [2]
セルをクリックしてイベントであるため、私はこのエラーを取得[[ここに画像の説明を入力します] [2]!]:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int indexRow = e.RowIndex;
DataGridViewRow row = dataGridView1.Rows[indexRow]; //Debugger shows error here
txtDelete.Text = row.Cells[0].Value.ToString();
}
ので、私はで助けを必要とこの小さなバグを修正/修正する。私は、セルのクリックイベントでは、選択したセル
デバッガはそのエラーで停止...値とは何ですか'indexRow'のですか? 'dataGridView1.Rows'にはいくつの要素がありますか? – David
RowIndexが0より小さいかどうかをチェックして処理を中止します – Shcherban
列ヘッダーの行インデックスが-1で、 'datagridView1.Rows [-1]'が無効です。単に 'e.RowIndex <0'がチェックされてから戻ることができます。 –