Какое значение 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: вопрос не имеет большого значения, если честно, но мне просто любопытно, какой именно ответ (и причины этого), а также, верна ли моя первоначальная логика.
Спасибо за ваше время и извините за стену текста.