Język

Instrukcje: dodawanie przycisków ładowania, zapisywania i anulowania 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

  1. W programie Visual Studio dodaj kontrolkę TextBox do formularza.

  2. 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.

  3. Po wygenerowaniu zestawu danych i adaptera tabeli przeciągnij kontrolkę BindingNavigator do formularza.

  4. Ustaw właściwość kontrolki BindingSource na BindingSource w formularzu, który jest powiązany z kontrolkami.

  5. Wybierz kontrolkę BindingNavigator.

  6. Kliknij akcje projektanta (Mała czarna strzałka), aby pojawiło się okno dialogowe BindingNavigator Tasks i wybierz pozycję Edytuj elementy.

    Edytor Kolekcji Elementów zostanie wyświetlony.

  7. W Edytorze kolekcji elementów wykonaj następujące czynności:

    1. Dodaj ToolStripSeparator i trzy ToolStripButton, wybierając odpowiedni typ ToolStripItem i klikając przycisk Dodaj.

    2. Name Ustaw właściwość przycisków odpowiednio na LoadButton, SaveButton i CancelButton.

    3. Text Ustaw właściwość przycisków na Załaduj, Zapisz i Anuluj.

    4. DisplayStyle Ustaw właściwość dla każdego przycisku na Tekst. Alternatywnie można ustawić tę właściwość na Image lub ImageAndText, i ustawić obraz, który ma być wyświetlany w właściwości Image.

    5. Kliknij przycisk OK, aby zamknąć okno dialogowe. Przyciski są dodawane do elementu ToolStrip.

  8. Kliknij formularz prawym przyciskiem myszy i wybierz pozycję Wyświetl kod.

  9. W Edytorze kodu znajdź wiersz kodu, który ładuje dane do adaptera 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 zdarzenie w formularzu Load.

  10. Utwórz procedurę obsługi dla Click zdarzenia ZaładujToolStripButton, które utworzyłeś wcześniej, i przenieś do niej 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);
    }
    
  11. Utwórz procedurę obsługi dla zdarzenia ClickZapiszToolStripButton, które utworzono wcześniej, i napisz kod, aby zaktualizować dane 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 / Notatka

    W niektórych przypadkach składnik BindingNavigator już ma przycisk Zapisz, ale żaden kod nie został wygenerowany przez Projektant Windows Forms. 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 musisz ustawić właściwość przycisku Enabled na true, aby przycisk działał poprawnie.

  12. Utwórz procedurę obsługi zdarzenia dla Click zdarzenia AnulujToolStripButton, którą utworzyłeś wcześniej, 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 / Notatka

    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 także