Ошибка: информация об удаленной строке недоступна через строку

Кого это может касаться, я много времени искал, чтобы найти способ из-за этой ошибки

«Информация об удаленной строке недоступна через строку»

Я понимаю, что после удаления строки из таблицы данных к ней нельзя получить доступ обычным способом, и именно поэтому я получаю это ошибка. Большой проблемой является то, что я не уверен, что делать, чтобы получить желаемый результат, который я опишу ниже.

Обычно, когда строка в "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, тогда позвольте себе постоянно ненавидеть меня, потому что я ДЕЙСТВИТЕЛЬНО пытался.

  • gc
31
задан Qantas 94 Heavy 2 May 2014 в 07:26
поделиться