У меня есть простая таблица данных, которая отображает содержимое некоторой переменной List. С ней связаны две кнопки: одна для добавления содержимого в переменную List и обновления сетки данных, другая для удаления и обновления.
Я могу добавить объекты без проблем, однако, если я изменяю выбранную строку, я получаю сообщение об ошибке «Индекс -1 не имеет значения». Понятия не имею почему.
Код для настройки сетки данных выглядит следующим образом:
allTravellersDataGrid.DataSource = allTravellers;
где 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();
}
Есть здесь кто-нибудь, кто не так беспомощен, как я, чтобы выяснить, что является причиной проблемы с индексом?
Спасибо.