КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Свойство DataRowVersion
Свойство RowState Свойство RowState применяется для программной идентификации множества всех строк таблицы, которые изменили свое первоначальное значение, были вставлены и т.п. Это свойство может принимать любое значение из перечисления DataRowState: Таблица 1.1. Перечисление DataRowState
При программной работе со строками объекта DataTable значения в свойство RowState заносятся автоматически. Объект ADO.NET DataRow вполне разумно отслеживает свое состояние. Поэтому владеющий этим объектом объект DataTable может определить добавленные, измененные или удаленные строки. Это очень важная возможность DataSet, потому что когда наступит время послать информацию в хранилище данных, будут отправлены только измененные данные. Кроме отслеживания текущего состояния строк с помощью свойства RowState, объект DataRow отслеживает три возможные версии содержащихся в нем данных с помощью свойства DataRowVersion. При первоначальном создании объект DataRow содержит лишь одну копию данных, которая считается "текущей версией". Но при программной работе с объектом DataRow (с помощью вызовов различных методов) появляются дополнительные версии данных. Конкретнее, свойство DataRowVersion может содержать любое значение соответствующего перечисления DataRowVersion: Таблица 1.2. Перечисление DataRowVersion
Как показано в таблице, значение свойства DataRowVersion в большинстве случаев зависит от значения свойства DataRowState. А как было сказано ранее, значение свойства DataRowState автоматически изменяется при вызовах различных методов объекта DataRow (а в некоторых случаях DataTable). Ниже представлена схема влияния этих методов на значение свойства DataRowVersion произвольной строки: - При изменении значения строки, после вызова метода DataRow.BeginEdit(), становятся доступны значения Current и Proposed. - При вызове метода DataRow.CancelEdit() значение Proposed удаляется. - После вызова DataRow.EndEdit() значение Proposed меняется на Current. - После вызова метода DataRow.AcceptChanges() значение Original становится равным значению Current. То же самое происходит и при вызове DataTable.AcceptChanges(). - После вызова DataRow.RejectChanges() значение Proposed отбрасывается, и версия становится равной Current. Да, все это несколько запутанно — особенно из-за того, что в любой данный момент времени DataRow может иметь, а может и не иметь все версии (при попытке получения версии строки, которая в данный момент не отслеживается, возникнут исключения времени выполнения). Но поскольку DataRow отслеживает три копии данных, то, несмотря на эту сложность, можно без особого труда создать пользовательский интерфейс, который позволяет конечному пользователю изменить значения, потом передумать и отказаться от этих изменений или зафиксировать их, чтобы они хранились постоянно.
Дата добавления: 2015-05-09; Просмотров: 515; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |