私は単純なデータグリッドを持っており、リスト変数の内容を表示しています。私はそれに関連する2つのボタンを持っています.1つはリスト変数に内容を追加し、もう1つはデータグリッドをリフレッシュし、もう1つはそれを削除してリフレッシュするためです。DataGridがインデックスを取得する-1選択された行が変更されたときに値を持たない
オブジェクトを問題なく追加できますが、選択した行を変更すると「インデックス-1に値がありません」というエラーが表示されます。理由は分かりません。次のように
データグリッドを設定するためのコードは次のとおりです。allTravellersは、私は上記の話をされたリストがある
allTravellersDataGrid.DataSource = allTravellers;
。
次のようにallTravellersリストにコンテンツを追加するためのボタンがある:
private void addAttendee_Click(object sender, EventArgs e)
{
if (attendeeName.Text == "" || attendeeSurname.Text == "" || attendeeBirthDate.Text == "" || attendeeIdNumber.Text == "")
{ MessageBox.Show("Not all information regarding the attendee entered"); }
else
{
allTravellers.Add(dt.prepareTraveller(attendeeName.Text, attendeeSurname.Text, attendeeBirthDate.Text, attendeeIdNumber.Text));
allTravellersDataGrid.DataSource = null;
allTravellersDataGrid.DataSource = allTravellers;
allTravellersDataGrid.Refresh();
}
}
と最後で、リストからオブジェクトを除去するためのボタンのコードは次のようになります。
private void removeAttendee_Click(object sender, EventArgs e)
{
traveller travellerToRemove = (traveller)allTravellersDataGrid.CurrentRow.DataBoundItem;
allTravellers.Remove(travellerToRemove);
allTravellersDataGrid.Refresh();
}
ですインデックス問題を引き起こしているものを見つけ出すのに私のように無力ではない誰かがここにいますか?
ありがとうございました。
https://www.google.com/:
はattendeeName という名前 テキストボックスを持つフォームはこの作品allTravellersDataGrid
という名前removeBtn グリッドという名前addBtn 削除ボタンという名前のボタンを追加したとし検索は?sourceid = chrome&ie = UTF-8&q =インデックス+ -1 + does + not + have + a + value + C%23#pq = index + -1 + does + not + have + a + value + c%23&hl = en&sugexp = pfwl&tok = vGTaR7u2DyGSuxPKL_bFXA&cp = 32&gs_id = k&xhr = t&q =%22Index + -1 +は+ a +値を22 + C%23&pf = p&sclient = psy-ab&source = hp&pbx = 1&oq =%22Index + -1 +は、+ a +値+ 22 + C%23&aq = f&aqi =&aql =&gs_sm =&gs_upl =&bav = on.2、または.r_gc.r_pw.r_cp。、cf.osb&fp = 76147c48b2eb760f&biw = 1920&bih = 943 –
ありがとう、これは助けます – Ondrej
グリッドのインデックス変更のイベントはありますか?その場合は、コードを投稿してください。 –