Sdílet prostřednictvím


Vytvoření uživatelského ovládacího prvku Windows Forms, který podporuje datovou vazbu vyhledávání

 

Publikováno: duben 2016

Při zobrazování dat ve Windows Forms, můžete zvolit existující ovládací prvky z panelu nástrojů nebo můžete vytvářet vlastní ovládací prvky, pokud aplikace vyžaduje funkce není k dispozici v standardní ovládací prvky. Tento návod ukazuje, jak vytvořit ovládací prvek, který implementuje LookupBindingPropertiesAttribute. Ovládací prvky, které implementují LookupBindingPropertiesAttribute může obsahovat tři vlastnosti, které mohou být vázány na data. Tyto prvky jsou podobné ComboBox.

Další informace o vytváření ovládacího prvku, naleznete v části Vývoj ovládacích prvků Windows Forms v době návrhu.

Při vytváření ovládacích prvků pro použití ve scénářích datové vazby musíte implementovat jednu z následujících atributů datové vazby:

Použití atributu datové vazby
Implementace DefaultBindingPropertyAttribute na jednoduché ovládací prvky, stejně jako TextBox, který zobrazí jeden sloupec (nebo vlastnost) dat. Další informace naleznete v tématu Vytvoření uživatelského ovládacího prvku Windows Forms, který podporuje jednoduchou datovou vazbu.
Implementace ComplexBindingPropertiesAttribute na ovládací prvky, stejně jako DataGridView, který zobrazit seznamy (nebo tabulky) data. Další informace naleznete v tématu Vytvoření uživatelského ovládacího prvku Windows Forms, který podporuje rozšířené datové vazby.
Implementace LookupBindingPropertiesAttribute na ovládací prvky, stejně jako ComboBox, který zobrazení seznamy (nebo tabulky) dat, ale také musí představovat jeden sloupec nebo vlastnost. (Tento proces je popsán v této stránce návod).

Tento návod vytvoří ovládací prvek vyhledávání, která vytvoří vazbu na data ze dvou tabulek. Tento příklad používá Customers a Orders tabulek z ukázkové databázi Northwind. Vyhledávací ovládací prvek bude vázán k CustomerID pole z Orders tabulky. Tato hodnota se bude používat k vyhledání CompanyName z Customers tabulky.

V tomto návodu se dozvíte, jak:

  • Vytvořit nový aplikace Windows.

  • Přidejte novou uživatelský ovládací prvek do projektu.

  • Vizuální návrh uživatelského ovládacího prvku.

  • Implementace LookupBindingProperty atributu.

  • Vytvoření datové sady pomocí Průvodce konfigurací zdroje dat.

  • Nastavte CustomerID sloupce na objednávky tabulky v zdroje dat okna používat nový ovládací prvek.

  • Vytvořte formulář k zobrazení dat v nového ovládacího prvku.

Požadavky

K dokončení tohoto návodu, budete potřebovat:

  • Přístup k ukázkové databázi Northwind.

Vytvoření aplikace pro Windows

Prvním krokem je vytvoření aplikace Windows.

Vytvoření nového projektu Windows

  1. V sadě Visual Studio z soubor nabídky, vytvořte novou projektu.

  2. Název projektu LookupControlWalkthrough.

  3. Vyberte aplikace Windows Forms a klikněte na tlačítko OK.

    LookupControlWalkthrough je vytvořen a přidán do projektu Průzkumníku řešení.

Přidání uživatelského ovládacího prvku do projektu

Tento návod vytvoří ovládací prvek vyhledávání z uživatelský ovládací prvek, takže přidejte uživatelský ovládací prvek položku LookupControlWalkthrough projektu.

Chcete-li přidat uživatelský ovládací prvek do projektu

  1. Z projektu klepněte na příkaz Přidat uživatelský ovládací prvek.

  2. Typ LookupBox v název oblasti a pak klikněte na tlačítko Přidat.

    LookupBox prvek je přidán do Průzkumníku řešení a otevře v návrháři.

Návrh LookupBox ovládacího prvku

Chcete-li navrhnout LookupBox ovládacího prvku

  • Přetáhněte ComboBox z nástrojů na plochu návrhu uživatelského ovládacího prvku.

Přidání požadovaný atribut datová vazba

Pro vyhledávání ovládací prvky této podpory vazby dat, můžete implementovat LookupBindingPropertiesAttribute.

K implementaci atributu LookupBindingProperties

  1. Přepínač LookupBox ovládacího prvku k zobrazení kódu. (Na zobrazení nabídce zvolte kódu.)

  2. Nahraďte kód v LookupBox následujícím kódem:

    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();
            }
        }
    }
    
    <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
    
  3. Z sestavení nabídce zvolte Sestavit řešení.

Vytváření zdroje dat z databáze

Tento krok vytvoří zdroj dat pomocí Průvodce konfigurací zdroje dat na základě Customers a Orders tabulky v ukázkové databázi Northwind. Musí mít přístup k ukázkové databázi Northwind k vytvoření připojení. Informace o nastavení ukázkové databázi Northwind naleznete v tématu Install SQL Server sample databases.

Vytvoření zdroje dat

  1. Na Data nabídky, klikněte na tlačítko Zobrazit zdroje dat.

  2. V zdroje dat vyberte Přidat nový zdroj dat ke spuštění Průvodce konfigurací zdroje dat.

  3. Vyberte databáze na Zvolte typ zdroje dat a potom klikněte na tlačítko Další.

  4. Na Vybrat datové připojení proveďte jednu z následujících akcí:

    • Pokud připojení dat k ukázkové databázi Northwind k dispozici v rozevíracím seznamu, vyberte ji.

      - nebo -

    • Vyberte nové připojení ke spuštění Přidat nebo upravit připojení dialogové okno.

  5. Pokud vaše databáze vyžaduje heslo, vyberte možnost zahrnout citlivá data, a potom klikněte na tlačítko Další.

  6. Klikněte na tlačítko Další na Uložit připojovací řetězec do konfiguračního souboru aplikace stránky.

  7. Rozbalte tabulky uzel na Zvolte vaše databázové objekty stránky.

  8. Vyberte Customers a Orders tabulky a pak klikněte na tlačítko Dokončit.

    NorthwindDataSet je přidán do projektu a Customers a Orders tabulky se zobrazí v zdroje dat okna.

Nastavení sloupce CustomerID tabulky objednávky použití ovládacího prvku LookupBox

V rámci zdroje dat okno můžete nastavit řízení má být vytvořen před přetažení položek do formuláře.

Chcete-li nastavit sloupce CustomerID vytvořit vazbu k ovládacímu prvku LookupBox

  1. Otevřete Form1 v návrháři.

  2. Rozbalte Zákazníci uzel v zdroje dat okna.

  3. Rozbalte objednávky uzlu (v Zákazníci uzlu níže Fax sloupce).

  4. Klikněte na šipku rozevíracího seznamu objednávky uzel a zvolte Podrobnosti ze seznamu ovládacího prvku.

  5. Klikněte na šipku rozevíracího seznamu CustomerID sloupce (v objednávky uzel) a zvolte Přizpůsobit.

  6. Vyberte LookupBox ze seznamu přidružené ovládací prvky v Možnosti přizpůsobení uživatelského rozhraní dat dialogové okno.

  7. Klikněte na tlačítko OK.

  8. Klikněte na šipku rozevíracího seznamu CustomerID sloupce a klikněte na tlačítko LookupBox.

Přidání ovládacích prvků do formuláře

Můžete vytvořit ovládací prvky vázané na data přetažením položek z zdroje dat okna do Form1.

Chcete-li vytvořit ovládací prvky vázané na data ve formuláři Windows

  • Přetažení objednávky uzlu z zdroje dat okna do formuláře Windows a ověřte, zda LookupBox ovládací prvek slouží k zobrazení dat v CustomerID sloupce.

Vytvoření vazby ovládacího prvku na vyhledejte název společnosti z tabulky Zákazníci

Chcete-li nastavit vazby vyhledávání

  • Vyberte hlavní Zákazníci uzel v zdroje dat okna a přetáhněte ji na se seznamem se v poli CustomerIDLookupBox na Form1.

    Nastavíte vázání dat pro zobrazení CompanyName z Customers tabulky při zachování CustomerID z hodnoty Orders tabulky.

Spuštění aplikace

Ke spuštění aplikace

  • Stisknutím klávesy F5 ke spuštění aplikace.

  • Procházet některé záznamy a ověřte, zda CompanyName se zobrazí v LookupBox ovládacího prvku.

Viz také

Vytvoření vazby ovládacích prvků Windows Forms k datům v sadě Visual Studio