Udostępnij za pośrednictwem


Instruktaż: Tworzenie formantu użytkownika Windows Forms tego wiązania danych obsługuje wyszukiwania

Podczas wyświetlania danych na Windows Forms, można wybrać istniejące formanty z przybornika, lub jeśli aplikacja wymaga funkcji niedostępnych w standardowych formantów, mogą tworzyć niestandardowe formanty.W tym instruktażu pokazano, jak utworzyć formant, który implementuje LookupBindingPropertiesAttribute.Określa, że wdrożenie LookupBindingPropertiesAttribute może zawierać trzy właściwości, które mogą być powiązane z danymi.Takie kontrole są podobne do ComboBox.

Aby uzyskać więcej informacji dotyczących tworzenia kontroli, zobacz Programowanie formantów Windows Forms w czasie projektowania.

Podczas tworzenia formantów do użycia w scenariuszach databinding należy zaimplementować jeden z następujących atrybutów databinding:

Użycie atrybutu wiązania z danymi

Wdrożenie DefaultBindingPropertyAttribute na proste formanty, takie jak TextBox, że wyświetlanie pojedynczej kolumny (lub właściwość) danych.Aby uzyskać więcej informacji, zobacz Instruktaż: Tworzenie formantu użytkownika Windows Forms obsługuje dane proste powiązanie.

Wdrożenie ComplexBindingPropertiesAttribute w zakresie kontroli, takich jak DataGridView, że wyświetlanie list (lub tabele) danych.Aby uzyskać więcej informacji, zobacz Instruktaż: Tworzenie formantu użytkownika Windows Forms tego powiązania obsługuje złożonych danych.

Wdrożenie LookupBindingPropertiesAttribute na formanty, takie jak ComboBox, wyświetlanie list (lub tabele) danych, ale również musi przedstawiać pojedyncza kolumna lub właściwości.(Ten proces jest opisany na tej stronie instruktażu).

W tym instruktażu tworzy kontroli wyszukiwania, która wiąże się z danymi z dwóch tabel.W tym przykładzie użyto Customers i Orders tabele z bazy danych Northwind.Formant wyszukiwania będzie związany CustomerID pola z Orders tabeli.Użyje tej wartości do wyszukiwania CompanyName z Customers tabeli.

Podczas tego instruktażu dowiesz się, jak:

  • Utwórz nowy Aplikacji Windows.

  • Dodaj nowy Kontrola użytkownika do swojego projektu.

  • Wizualne projektowanie kontroli użytkownika.

  • Wdrożenie LookupBindingProperty atrybut.

  • Tworzenie zestawu danych z Kreator konfiguracji źródła danych.

  • Ustaw IDklienta kolumny na zamówienia tabeli w Źródła danych okno, aby użyć nowego formantu.

  • Utworzyć formularz, aby wyświetlić dane w nowym formantem.

Wymagania wstępne

W celu przeprowadzenia tego instruktażu będą potrzebne:

Tworzenie aplikacji systemu Windows

Pierwszym krokiem jest utworzenie Aplikacji Windows.

Aby utworzyć nowy projekt systemu Windows

  1. W programie Visual Studio z pliku menu, Utwórz nowy Projekt.

  2. Nazwa projektu LookupControlWalkthrough.

  3. Wybierz Aplikacji Windows i kliknij przycisk OK.Aby uzyskać więcej informacji, zobacz Tworzenie aplikacji klienta.

    LookupControlWalkthrough projektu jest tworzony i dodawany do Solution Explorer.

Dodawanie formantu użytkownika do projektu

W tym instruktażu tworzy kontroli wyszukiwania z Kontrola użytkownika, dodać tak Kontrola użytkownika element do LookupControlWalkthrough projektu.

Aby dodać formant użytkownika do projektu

  1. Z Projekt menu, wybierz opcję Dodaj formant użytkownika.

  2. Typ LookupBox w Nazwa obszar, a następnie kliknij przycisk Dodaj.

    LookupBox kontroli jest dodawana do Solution Explorer i otwiera w projektancie.

Projektowania formantu LookupBox

Aby zaprojektować formant LookupBox

  • Przeciągnij ComboBox z Przybornik na powierzchnię projektu kontroli użytkownika.

Dodawanie wymaganego atrybutu wiązania z danymi

Dla wyszukiwania formantów tego wsparcia wiązania z danymi, można zaimplementować LookupBindingPropertiesAttribute.

Aby zaimplementować atrybutu LookupBindingProperties

  1. Przełącznik LookupBox kontroli do widoku Kod.(Na widoku menu, wybierz polecenie kodu.)

  2. Zastąp kod w LookupBox z następujących czynności:

    <System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")>
    Public Class LookupBox
    
        Public Property DataSource() As Object
            Get
                Return ComboBox1.DataSource
            End Get
            Set(ByVal value As Object)
                ComboBox1.DataSource = value
            End Set
        End Property
    
        Public Property DisplayMember() As String
            Get
                Return ComboBox1.DisplayMember
            End Get
            Set(ByVal value As String)
                ComboBox1.DisplayMember = value
            End Set
        End Property
    
        Public Property ValueMember() As String
            Get
                Return ComboBox1.ValueMember
            End Get
            Set(ByVal value As String)
                ComboBox1.ValueMember = value
            End Set
        End Property
    
        Public Property LookupMember() As String
            Get
                Return ComboBox1.SelectedValue.ToString()
            End Get
            Set(ByVal value As String)
                ComboBox1.SelectedValue = value
            End Set
        End Property
    End Class
    
    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")]
        public partial class LookupBox : UserControl
        {
            public object DataSource
            {
                get{ return comboBox1.DataSource; }
                set{ comboBox1.DataSource = value; }
            }
    
            public string DisplayMember
            {
                get{ return comboBox1.DisplayMember; }
                set{ comboBox1.DisplayMember = value; }
            }
    
            public string ValueMember
            {
                get{ return comboBox1.ValueMember; }
                set{ comboBox1.ValueMember = value; }
            }
    
            public string LookupMember
            {
                get{ return comboBox1.SelectedValue.ToString(); }
                set{ comboBox1.SelectedValue = value; }
            }
    
    
            public LookupBox()
            {
                InitializeComponent();
            }
        }
    }
    
  3. Z budować menu, wybierz Roztwór budować.

Tworzenie źródła danych z bazy danych

Spowoduje to utworzenie źródła danych za pomocą Kreatora konfiguracji źródła danych na podstawie Customers i Orders tabel w bazie danych Northwind.Musi mieć dostęp do przykładowej bazy danych Northwind do utworzenia połączenia.Aby uzyskać informacje na temat konfigurowania przykładowej bazy danych Northwind, zobacz Jak: Instalowanie przykładowe bazy danych.

Aby utworzyć źródło danych

  1. Na danych menu, kliknij przycisk Pokaż źródeł danych.

  2. W Źródła danych okno select Dodać nowe źródło danych uruchomić Kreatora konfiguracji źródła danych.

  3. Wybierz bazy danych na Wybierz typ źródła danych stronę, a następnie kliknij przycisk Dalej.

  4. Na Wybierz połączenie danych do strony, jedną z następujących czynności:

    • Jeśli połączenie danych z przykładowej bazy danych Northwind jest dostępna na liście rozwijanej, należy go zaznaczyć.

      - lub -

    • Wybierz Nowe połączenie uruchomić Dodawanie i modyfikowanie połączenia okno dialogowe.Aby uzyskać więcej informacji, zobacz Dodawanie/modyfikowanie połączeń, okno dialogowe (Ogólne).

  5. Jeśli baza danych wymaga podania hasła, zaznacz opcję zawierają dane poufne, a następnie kliknij przycisk Dalej.

  6. Kliknij przycisk Dalej na zapisać ciąg połączenia w pliku konfiguracyjnym aplikacji strony.

  7. Rozwiń węzeł tabel węzeł na Wybierz obiekty bazy danych strony.

  8. Wybierz Customers i Orders tabel, a następnie kliknij przycisk Zakończenie.

    NorthwindDataSet jest dodawany do projektu i Customers i Orders tabele zostaną wyświetlone w Źródła danych okna.

Ustawienie w kolumnie IDKlienta w tabeli zamówienia, aby użyć formantu LookupBox

W ramach Źródła danych okna, można ustawić kontrolę ma zostać utworzony przed na przeciąganie elementów na formularzu.

Aby ustawić w kolumnie IDKlienta, aby powiązać z formantem LookupBox

  1. Otwórz formularz Form1 w projektancie.

  2. Rozwiń węzeł Klienci węzeł w Źródła danych okna.

  3. Rozwiń zamówienia węzła (w Klienci węzeł poniżej Faks kolumny).

  4. Kliknij strzałkę rozwijania w zamówienia węzeł i wybierz polecenie Szczegóły z listy kontroli.

  5. Kliknij strzałkę rozwijania w IDklienta kolumny (w zamówienia węzła) i wybierz polecenie Dostosuj.

  6. Wybierz LookupBox z listy Związane formanty w Opcje dostosowywania interfejsu użytkownika dane okno dialogowe.

  7. Click OK.

  8. Kliknij strzałkę rozwijania w IDklienta kolumny i wybierz polecenie LookupBox.

Dodawanie formantów do formularza

Formanty powiązane z danymi można utworzyć, przeciągając elementy z Źródła danych okna na formularz Form1.

Aby tworzyć formanty powiązane z danymi w formularzu Windows

  • Przeciągnij zamówienia węzła z Źródła danych okna na Windows Form i sprawdź, czy LookupBox formantu jest używany do wyświetlania danych w CustomerID kolumny.

Wiązanie formantu z tabeli Klienci odszukaj NazwaFirmy

Aby skonfigurować wiązania wyszukiwania

  • Wybierz główne Klienci węzeł w Źródła danych okna i przeciągnij go na kombi pole w CustomerIDLookupBox na formularz Form1.

    To konfiguruje powiązanie danych, aby wyświetlić CompanyName z Customers tabeli przy zachowaniu CustomerID wartości z Orders tabeli.Aby uzyskać więcej informacji, zobacz Jak: Tworzenie tabel odnośników w aplikacji Windows Forms.

Z uruchomioną aplikacją

Aby uruchomić aplikację

  • Naciśnij klawisz F5, aby uruchomić aplikację.

  • Poruszać się niektóre rekordy i sprawdź, czy CompanyName pojawia się w LookupBox kontroli.

Zobacz też

Zadania

Jak: formant ma zostać utworzony podczas przeciągania w oknie źródła danych

Koncepcje

Co nowego w projektowaniu danych aplikacji w Visual Studio 2012

Wiązanie formantów Windows Forms do danych w programie Visual Studio

Przygotowanie aplikacji do odbierania danych

Pobieranie danych do aplikacji

Wiązanie formantów z danych w programie Visual Studio

Edytowanie danych w aplikacji

Sprawdzanie poprawności danych

Zapisywanie danych

Inne zasoby

Połączenie z danymi w programie Visual Studio