Кому это может касаться, я искал значительное количество времени, чтобы найти выход из этой ошибки
«Информация об удаленной строке не может быть доступна через строку»
Я понимаю, что после удаления строки из таблицы данных к ней нельзя получить доступ обычным способом, и именно поэтому я получаю эту ошибку. Большая проблема в том, что я не уверен, что делать, чтобы получить желаемый результат, о котором я расскажу ниже.
Обычно, когда строка в «dg1» удаляется, строка под ней занимает место удаленной строки (очевидно) и, таким образом, наследует индекс удаленных строк. Целью этого метода является замена и сброс индекса строк (путем его извлечения из соответствующего значения в наборе данных), который занял место удаленных строк и, как таковое, значения индекса.
Сейчас я просто использую метку (lblText), чтобы попытаться получить ответ от процесса, но он падает, когда последний вложенный оператор if пытается сравнить значения.
Вот код:
void dg1_Click(object sender, EventArgs e)
{
rowIndex = dg1.CurrentRow.Index; //gets the current rows
string value = Convert.ToString(dg1.Rows[rowIndex].Cells[0].Value);
if (ds.Tables[0].Rows[rowIndex].RowState.ToString() == "Deleted")
{
for (int i = 0; i < dg1.Rows.Count; i++)
{
if (Convert.ToString(ds.Tables[0].Rows[i][0].ToString()) == value)
// ^ **where the error is occurring**
{
lblTest.Text = "Aha!";
//when working, will place index of compared dataset value into rowState, which is displaying the current index of the row I am focussed on in 'dg1'
}
}
}
Заранее спасибо за помощь, я действительно выполнил поиск, и, если с помощью простого поиска в Google легко разобраться, позвольте мне неоднократно ненавидеть меня, потому что я ДЕЙСТВИТЕЛЬНО пытался.