Практическое руководство. Добавление кнопок загрузки, сохранения и отмены в элемент управления BindingNavigator в формах Windows Forms
Обновлен: Ноябрь 2007
Элемент управления BindingNavigator является специализированным элементом управления ToolStrip, который предназначен для навигации и управления привязанными к данным элементами управления формы.
Так как это элемент управления ToolStrip, компонент BindingNavigator может быть легко изменен для включения дополнительных или альтернативных команд для пользователя.
В следующей процедуре элемент управления TextBox привязан к данным, а добавленный в форму элемент управления ToolStrip дополнен кнопками загрузки, сохранения и отмены.
Чтобы добавить кнопки загрузки, сохранения и отмены в элемент BindingNavigator
Добавьте элемент управления TextBox на форму.
Привяжите его к классу BindingSource, который привязан к источнику данных. Для этого примера класс BindingSource привязан к базе данных.
Когда таблица данных и адаптер таблиц будут сгенерированы, перетащите элемент управления BindingNavigator на форму.
На форме, привязанной к элементам управления, присвойте свойству BindingSource элемента управления BindingNavigator значение BindingSource.
Выберите элемент управления BindingNavigator.
Щелкните глиф смарт-тега (), чтобы появилось диалоговое окно Задачи BindingNavigator, и выберите пункт Изменение элементов.
Появится окно Редактор коллекции элементов.
В окне Редактор коллекции элементов выполните следующие действия:
Добавьте ToolStripSeparator и три элемента ToolStripButton, выбрав соответствующий тип элемента ToolStripItem и нажав кнопку Добавить.
Присвойте свойству кнопок Name соответственно значенияLoadButton,SaveButton иCancelButton.
Присвойте свойству кнопок Text значение Загрузить, Сохранить и Отмена.
Присвойте свойству DisplayStyle каждой кнопки значениеText. В противном случае этому свойству можно присвоить значениеImageилиImageAndTextи установить отображаемое изображение в свойствеImage.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно. Кнопки будут добавлены в класс ToolStrip.
Щелкните форму правой кнопкой мыши и выберите команду Просмотреть код.
В редакторе кода найдите строку, которая загружает данные в адаптер таблиц. Этот код был сгенерирован при установки привязки данных в этапе 2. Код должен быть похож на следующее: TableAdapterName.Fill(DataSetName.TableName). Наиболее вероятно, что он будет в событии формы Load.
Создайте обработчик события Click для кнопкиЗагрузитьToolStripButton, созданной ранее, и переместите этот код загрузки данных в обработчик.
Теперь код должен выглядеть примерно следующим образом.
[Visual Basic]
Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click TableAdapterName.Fill(DataSetName.TableName) End Sub
[C#]
private void LoadButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Fill(DataSetName.TableName); }
Создайте обработчик события Click для кнопки СохранитьToolStripButton, созданной ранее, и напишите код для обновления данных в таблице, к которой привязан элемент управления.
[Visual Basic]
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click TableAdapterName.Update(DataSetName.TableName) End Sub
[C#]
private void SaveButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Update(DataSetName.TableName); }
Примечание. В некоторых случаях компонент BindingNavigator уже имеет кнопкуСохранить, но код конструктором Windows Forms сгенерирован не будет. В этом случае приведенный выше код можно поместить в Click обработчик событий кнопки, вместо создания полностью новой кнопки ToolStrip. Однако кнопка по умолчанию отключена, так что свойству Enabled кнопки необходимо присвоить значение true, чтобы кнопка работала правильно.
Создайте обработчик события Click для кнопкиОтменаToolStripButton, созданной ранее, и напишите код для отмены любых изменений отображаемой записи данных.
[Visual Basic]
Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click BindingSourceName.CancelEdit() End Sub
[C#]
private void CancelButton_Click(System.Object sender, System.EventArgs e) { BindingSourceName.CancelEdit(); }
Примечание. Метод CancelEdit распространяется на строку данных. Сохраните все изменения, сделанные при просмотре этой отдельной записи, до перехода к следующей записи.
См. также
Ссылки
Общие сведения о компоненте BindingSource