К кому это может относиться, я искал значительное количество времени, чтобы выйти из этой ошибки.
"Удаленная информация о строках не может быть доступна через строку"
Я понимаю, что после того, как строка была удалена из datatable, к которой ее невозможно получить обычным способом, и поэтому я получаю эту ошибку. Большая проблема заключается в том, что я не уверен, что делать, чтобы получить желаемый результат, о котором я расскажу ниже.
В основном, когда строка в "dg1" удаляется, строка под ней занимает место удаленной строки (очевидно) и, таким образом, наследует индекс удаленных строк. Целью этого метода является замена и reset индекса строк (путем захвата его из соответствующего значения в наборе данных), который занял место удаленных строк и как таковое значение индекса.
Сейчас я просто использую метку (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, то позвольте себе повторяться ненавидеть меня, потому что я попробовал.
- дс