Технология Microsoft ADO.NET




Свойство RowVersion


Свойство RowVersion предназначено для извлечения значения записи (объекта DataRow), зависящего от совершенных изменений. Возможны следующие версии записи:

  • Current - текущее значение
  • Default - значение по умолчанию
  • Original - первоначальное значение
  • Proposed - предполагаемое значение

Создайте новое приложение, назовите его "RowVersion". Свойству Size формы устанавливаем значение 500; 300. Из окна Toolbox перетаскиваем следующие элементы и устанавливаем их свойства:

panel1, свойство Значение
Dock Bottom
dataGrid1, свойство Значение
Dock Left
CaptionText Туры
splitter1, свойство Значение
Dock Left
richTextBox1, свойство Значение
Name rtbReport
Dock Fill
Text
button1, свойство Значение
Name BtnBeginEdit
Location 14; 21
Text Begin Edit
button2, свойство Значение
Name btnEndEdit
Location 106; 21
Text End Edit
button3, свойство Значение
Name btnCancelEdit
Location 198; 21
Text Cancel Edit
button4, свойство Значение
Name btnDelete
Location 290; 21
Text Удалить
button5, свойство Значение
Name btnClearReport
Location 382; 21
Size 96; 23
Text Очистить отчет

Переходим к коду. В классе формы объявляем объекты DataRow и DataTable:

DataRow myRow; DataTable dtTours;

В конструкторе формы создаем запись, определяем источник данных для элемента DataGrid, а также отключаем его доступность:

public Form1() { InitializeComponent(); dtTours = new DataTable("Туры"); DataColumn IDtour = new DataColumn("Название", typeof(string)); dtTours.Columns.Add(IDtour); myRow = dtTours.NewRow(); dtTours.Rows.Add(myRow); myRow["Название"] = "Таиланд"; dataGrid1.DataSource = dtTours; dataGrid1.Enabled = false; }

Создаем метод TestRowVersion, в котором будет проверяться свойство RowVersion записи:

private void TestRowVersion() { if(myRow.HasVersion(DataRowVersion.Original)) rtbReport.Text += String.Format("Значение original: {0}\n", myRow["Название", DataRowVersion.Original]); if(myRow.HasVersion(DataRowVersion.Current)) rtbReport.Text += String.Format("Значение current: {0}\n", myRow["Название", DataRowVersion.Current]); if(myRow.HasVersion(DataRowVersion.Default)) rtbReport.Text += String.Format("Значение default: {0}\n", myRow["Название", DataRowVersion.Default]); if(myRow.HasVersion(DataRowVersion.Proposed)) rtbReport.Text += String.Format("Значение proposed: {0}\n", myRow["Название", DataRowVersion.Proposed]); }




Содержание  Назад  Вперед