проблема удаления строки с данными - PullRequest
1 голос
/ 15 ноября 2010

Существует команда для удаления строк в datatable Delete ();

Но это просто удаление, а не смещение следующих строк, таких как vector или arraylist.

Например, в таблице данных есть 3 строки.

Строка 1, Данные 1

Строка 2, Данные 2

Строка 3, Данные 3.

ЕСЛИ я удалю строку 2, это будет похоже на

Строка 1, Данные 1

Строка 2, RowStatus = Удалено

Строка 3, Данные 3

Как я могу переместиться вверх по строке 3 к строке 2 ???

У меня есть способ, но он неправильный.

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

Должен быть лучший способ ... кто-нибудь ??

Ответы [ 4 ]

8 голосов
/ 15 ноября 2010

Вы должны вызвать AcceptChanges в DataTable, чтобы зафиксировать сделанные изменения.Это приведет к удалению строк, помеченных как удаленные.(Наряду с любыми другими изменениями, внесенными в DataTable)

1 голос
/ 15 ноября 2010

Метод Delete помечает строку для удаления в базе данных и фактически не удаляет ее из DataTable.Метод DataTable.Rows.Remove удалит строку из таблицы данных в памяти так, как вам нужно.

0 голосов
/ 15 ноября 2010

Почему ты хочешь двигаться вверх по рядам?Простите мое любопытство; -)

0 голосов
/ 15 ноября 2010

Да, вы должны использовать метод DataTable.AcceptChages (), чтобы отразить изменения в DataTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...