Удаление записей из связанной с данными формы

We use cookies. Read the Privacy and Cookie Policy

Удаление записей из связанной с данными формы

Для удаления записей из связанной с данными формы на основе Windows Forms нужно использовать метод RemoveAt объекта BindingContext. Этот метод принимает один параметр – индекс удаляемой записи. Для организации удаления текущей записи нужно использовать свойство Position в качестве параметра метода RemoveAt объекта BindingContext, как показано в листинге 1.3.

Листинг 1.3. Удаление данных в приложении для работы с данными с помощью метода RemoveAt объекта BindingContext

Private Sub btnDelete_Click(ByVal sender As System.Object, _

 ByVal e As System.EventArgs) Handles btnDelete.Click

 If MsgBox("Whoa bubba, you sure?", MsgBoxStyle.YesNo, "Delete record") = MsgBoxResult.Yes Then

  With Me.BindingContext(DsCustomer1, "tblCustomer")

   RemoveAt(.Position)

  End With

 End If

End Sub

Этот код основан на созданной перед этим кнопке btnDelete. Учтите, что эта процедура запрашивает пользователей, действительно ли они хотят удалить запись. Этот запрос позволяет избежать неприятных последствий в случае, если пользовательский интерфейс создан так, что пользователь может случайно удалить запись, щелкая на кнопке Delete. (Обратите внимание, что, кроме этого способа на основе диалогового окна с предупреждением об удалении записи, можно применять более сложные методы отката ошибочных изменений данных. Однако описание таких сложных конструкций выходит за рамки данной главы.)

Учтите, что метод RemoveAt способен определять и обрабатывать стандартные исключительные ситуации, например при отсутствии данных или после очистки данных в элементе управления пользовательского интерфейса при вызове метода AddNew. Эта возможность позволяет значительно усовершенствовать методы контроля над связанными сданными элементами управления в прежних версиях Visual Basic, для которых требовалось создавать громоздкий код обработки исключительных ситуаций, возникающих при выполнении пользователями непредсказуемых действий.