Porady: dodawanie przycisków załaduj, zapisz i anuluj do kontrolki BindingNavigator formularzy systemu Windows
Kontrolka BindingNavigator jest specjalną ToolStrip kontrolką przeznaczoną do nawigowania i manipulowania kontrolkami w formularzu, które są powiązane z danymi.
Ponieważ jest to kontrolka ToolStrip , BindingNavigator składnik można łatwo zmodyfikować w celu uwzględnienia dodatkowych lub alternatywnych poleceń dla użytkownika.
W poniższej procedurze kontrolka TextBox jest powiązana z danymi, a ToolStrip kontrolka dodawana do formularza jest modyfikowana w celu uwzględnienia przycisków ładowania, zapisywania i anulowania.
Dodawanie przycisków ładowania, zapisywania i anulowania do składnika BindingNavigator
W programie Visual Studio dodaj kontrolkę TextBox do formularza.
Powiąż go z elementem BindingSource, który jest powiązany ze źródłem danych. W tym przykładzie element BindingSource jest powiązany z bazą danych.
Po wygenerowaniu zestawu danych i adaptera tabeli przeciągnij kontrolkę BindingNavigator do formularza.
BindingNavigator Ustaw właściwość kontrolki BindingSource na BindingSource wartość w formularzu powiązanym z kontrolkami.
Wybierz kontrolkę BindingNavigator .
Kliknij akcje projektanta (), aby okno dialogowe BindingNavigator Tasks () było wyświetlane i wybierz pozycję Edytuj elementy.
Zostanie wyświetlony Edytor kolekcji elementów.
W Edytorze kolekcji elementów wykonaj następujące czynności:
Dodaj elementy i ToolStripSeparator trzy ToolStripButton , wybierając odpowiedni typ ToolStripItem i klikając przycisk Dodaj .
Name Ustaw właściwość przycisków odpowiednio na LoadButton, SaveButton i CancelButton.
Text Ustaw właściwość przycisków na Załaduj, Zapisz i Anuluj.
DisplayStyle Ustaw właściwość dla każdego przycisku na Tekst. Alternatywnie można ustawić tę właściwość na Wartość Image lub ImageAndText i ustawić obraz, który ma być wyświetlany we Image właściwości .
Kliknij przycisk OK, aby zamknąć okno dialogowe. Przyciski są dodawane do elementu ToolStrip.
Kliknij prawym przyciskiem myszy formularz i wybierz polecenie Wyświetl kod.
W Edytorze kodu znajdź wiersz kodu, który ładuje dane do karty tabeli. Ten kod został wygenerowany podczas konfigurowania powiązania danych w kroku 2. Kod powinien być podobny do następującego:
TableAdapterName.Fill(DataSetName.TableName)
. Najprawdopodobniej będzie to wydarzenie formularza Load .Utwórz procedurę obsługi zdarzeń dla Click utworzonego wcześniej zdarzenia Załaduj ToolStripButton i przenieś do niego ten kod ładowania danych.
Kod powinien teraz wyglądać podobnie do następującego:
Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click TableAdapterName.Fill(DataSetName.TableName) End Sub
private void LoadButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Fill(DataSetName.TableName); }
Utwórz procedurę obsługi zdarzeń dla Click zdarzenia utworzonego wcześniej zapisywaniaToolStripButton i napisz kod w celu zaktualizowania danych w tabeli, z którą jest powiązana kontrolka.
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click TableAdapterName.Update(DataSetName.TableName) End Sub
private void SaveButton_Click(System.Object sender, System.EventArgs e) { TableAdapterName.Update(DataSetName.TableName); }
Uwaga
W niektórych przypadkach BindingNavigator składnik ma już przycisk Zapisz , ale żaden kod nie został wygenerowany przez program Windows Forms Designer. W takim przypadku można umieścić powyższy kod w Click procedurze obsługi zdarzeń dla tego przycisku, zamiast tworzyć całkowicie nowy przycisk na ToolStrip. Jednak przycisk jest domyślnie wyłączony, więc należy ustawić Enabled właściwość przycisku, aby
true
przycisk działał poprawnie.Utwórz procedurę obsługi zdarzeń dla Click zdarzenia utworzonego wcześniej anulowania ToolStripButton i napisz kod, aby anulować wszelkie zmiany w wyświetlonym rekordzie danych.
Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click BindingSourceName.CancelEdit() End Sub
private void CancelButton_Click(System.Object sender, System.EventArgs e) { BindingSourceName.CancelEdit(); }
Uwaga
Metoda CancelEdit jest ograniczona do wiersza danych. Zapisz wszelkie zmiany wprowadzone podczas wyświetlania tego pojedynczego rekordu przed przejściem do następnego rekordu.
Zobacz też
.NET Desktop feedback