Udostępnij za pośrednictwem


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

  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. BindingNavigator Ustaw właściwość kontrolki BindingSource na BindingSource wartość w formularzu powiązanym z kontrolkami.

  5. Wybierz kontrolkę BindingNavigator .

  6. Kliknij akcje projektanta (Small black arrow), aby okno dialogowe BindingNavigator Tasks () było wyświetlane i wybierz pozycję Edytuj elementy.

    Zostanie wyświetlony Edytor kolekcji elementów.

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

    1. Dodaj elementy i ToolStripSeparator 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 Wartość Image lub ImageAndText i ustawić obraz, który ma być wyświetlany we Image właściwości .

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

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

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

  10. Utwórz procedurę obsługi zdarzeń dla Click utworzonego wcześniej zdarzenia ZaładujToolStripButton 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);
    }
    
  11. 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 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 należy ustawić Enabled właściwość przycisku, aby true przycisk działał poprawnie.

  12. Utwórz procedurę obsługi zdarzeń dla Click zdarzenia utworzonego wcześniej anulowaniaToolStripButton 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ż