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



           

Свойство RowVersion - часть 3


Нажимаем кнопку "Удалить" - при этом удаляется сам объект myRow и дальнейшее изменение его з начений оказывается невозможным (рис. 8.19, Д).

 Приложение "RowVersion"

увеличить изображение
Рис. 8.19.  Приложение "RowVersion"

В программном обеспечении к курсу вы найдете приложение RowVersion (Code\Glava4\ RowVersion).

Подобная функциональность вряд может нас устроить в реальных приложениях - в самом деле, мы вставляем только заранее определенное значение "Франция". Скопируйте папку приложения RowVersion и назовите ее RowVersion2. Добавим на форму элементы "надпись" и "текстовое поле":

label1, свойство Значение
location 24; 16
Size 72; 24
Text Название
textbox1, свойство Значение
Name txtmyRowName
location 104; 16
Size 344; 20
Text

Для того чтобы эти элементы поместились на панели, последнюю немного растянем, а кнопки сдвинем вниз, к краю формы. Обработчики кнопок изменим следующим образом:

private void btnBeginEdit_Click(object sender, System.EventArgs e) { myRow.BeginEdit(); rtbReport.Text += "BeginEdit\n"; TestRowVersion(); txtmyRowName.Enabled = true; }

private void btnEndEdit_Click(object sender, System.EventArgs e) { myRow["Название"] = txtmyRowName.Text; myRow.EndEdit(); rtbReport.Text += "EndEdit\n"; TestRowVersion(); txtmyRowName.Enabled = false; }

private void btnCancelEdit_Click(object sender, System.EventArgs e) { myRow.CancelEdit(); rtbReport.Text += "CancelEdit\n"; TestRowVersion(); txtmyRowName.Enabled = false; }

Обработчик кнопки "Удалить" изменим так же - теперь будет удаляться текущий экземпляр myRow и тут же создаваться новый:

private void btnDelete_Click(object sender, System.EventArgs e) { myRow.Delete(); rtbReport.Text += "Запись удалена\n"; TestRowVersion(); myRow = dtTours.NewRow(); dtTours.Rows.Add(myRow); }

В конструкторе формы отключим доступность текстового поля:

public Form1() { ... txtmyRowName.Enabled = false; }

Запускаем приложение. Выполняя знакомую последовательность действий, получаем похожий отчет; теперь при удалении записи можно продолжить работу - объект myRow будет воссоздан (рис. 8.20):

 Приложение RowVersion2

Рис. 8.20.  Приложение RowVersion2

В программном обеспечении к курсу вы найдете приложение RowVersion2 (Code\Glava4\ RowVersion2).




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