Какое значение RowState (если оно в данный момент "добавлено") после вызова RejectChanges?

Итак, я делаю подготовку к экзамену на C# ASP.Net и наткнулся на вопрос, который казался довольно простым, пока я не решил проверить его.

"Каково будет состояние строки (RowState), которая в данный момент находится в состоянии" Добавлена ​​"после вызова метода RejectChanges?"

а) немодифицированный

б) Отдельно стоящий

в) Добавлено

г) модифицированный

Теперь, когда я впервые подумал об этом, я предположил, что строка вставлена ​​в сбор данных, поэтому ее состояние добавляется, и после отмены изменений с помощью метода RejectChanges и, таким образом, удаления вновь добавленной строки, я предполагаю, что состояние collection будет Unmodified и фактическое состояние строки будет Detached, так как он больше не присутствует в коллекции.

Затем я исследовал это дальше и из MSDN нашел:

"Когда вызывается RejectChanges, удаляются все строки с состоянием строки" Добавлено ". Остальным строкам присваивается состояние строки без изменений"

Таким образом, а) Неизмененный = Без изменений.

Но затем я проверил, как строка может получить состояние Без изменений:

"RowState вновь созданной строки устанавливается в Detached. После добавления нового DataRow в DataRowCollection с помощью вызова метода Add значение свойства RowState устанавливается в значение Added.

Detached также устанавливается для строки, которая была удалена из DataRowCollection с использованием метода Remove или метода Delete, за которым следует метод AcceptChanges."

Итак, из этого следует, что он должен быть б) отделен.

PS: вопрос не имеет большого значения, если честно, но мне просто любопытно, какой именно ответ (и причины этого), а также, верна ли моя первоначальная логика.

Спасибо за ваше время и извините за стену текста.

0 ответов

Другие вопросы по тегам