Jak svázat ovládací prvek DataGrid ArrayList objektů nebo struktur pomocí jazyka Visual Basic 2005 nebo Visual Basic .NET

Microsoft Visual C# .NET verzi tohoto článku naleznete 316303 .

Souhrn

Tento podrobný článek popisuje, jak svázat ovládací prvek DataGrid ArrayList objektů. V příkladu se skládá z formuláře Microsoft Windows s ovládací prvek DataGrid pro zobrazení hodnot vlastnosti objektu a čtyři příkazová tlačítka Procházet řádky ovládací prvek DataGrid .

Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace service Pack:
  • Microsoft Visual Basic 2005 nebo Microsoft Visual Basic .NET
Tento článek předpokládá, že jste obeznámeni s následující témata:
  • Koncepty programování v jazyce Visual Basic

Návrh třídy

Třída, která je vázat na ovládací prvek musí mít přístupové objekty vlastnosti. Jakoukoliv vlastnost, která je vázat musí mít Vlastnost nastavit a Získat vlastnost metody. Ukázka třídy používané v tomto článku má tři členy (pouze jeden je zobrazen zde.) Parametry konstruktoru také nebyly poskytnuty, ale není požadavek.
Public Class guitar    Private m_make As String
Private m_model As String
Private m_year As Short

Public Sub New(ByVal make, ByRef model, ByVal year)
m_make = make
m_model = model
m_year = year
End Sub
Public Property make() As String
Get
Return m_make
End Get
Set(ByVal Value As String)
m_make = Value
End Set
End Property

End Class

Přidat instance třídy ArrayList


Chcete-li vytvořit instance a přidat je do ArrayList, postupujte takto:
  1. Prohlášení ArrayList.
  2. Vytvoření instance třídy a potom přidat instance do ArrayList.
Private al as New Arraylist()
al.Add(New guitar("Gibson", "Les Paul", 1958))
al.Add(New guitar("Fender", "Jazz Bass", 1964))
al.Add(New guitar("Guild", "Bluesbird", 1971))

Svázat ovládací prvek DataGrid ArrayList

Po naplnění ArrayList , nastavte vlastnost DataSource ovládacího prvku DataGrid na ArrayList. Sloupce v prvku DataGrid jsou naplněna na základě vlastností, pro které existují přístupové objekty vlastnosti v oboru.
DataGrid1.DataSource = al

Umožňují procházet ArrayList

Můžete použít CurrencyManager Procházet ArrayList. Chcete-li to provést, přidružte BindingContext ovládacího prvku (v tomto případě ArrayList) CurrencyManager .
Private cManager As CurrencyManager
cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)

CurrencyManager třída má vlastnost pozice , kterou lze manipulovat s iterovat přes členy ArrayList. Přidáním nebo odečtením z aktuální hodnota pozice, můžete procházet řádky ovládací prvek DataGrid .
'Move forward one element.cManager.Position += 1
'Move back one element.
cManager.Position -= 1
'Move to the beginning.
cManager.Position = 0
'Move to the end.
cManager.Position = al.Count - 1

Podrobný příklad

  1. V aplikaci Visual Basic2005 nebo Visual Basic .NET vytvořte nový projekt aplikace systému Windows. Ve výchozím nastavení je vytvořen formulář Form1.
  2. V nabídce projekt klepněte přidat třídy do projektu Přidat třídu .
  3. Nahraďte kód v Class1.vb následující:
    Public Class guitar    Private m_make As String
    Private m_model As String
    Private m_year As Short

    Public Sub New(ByVal make, ByRef model, ByVal year)
    m_make = make
    m_model = model
    m_year = year
    End Sub
    Public Property make() As String
    Get
    Return m_make
    End Get
    Set(ByVal Value As String)
    m_make = Value
    End Set
    End Property
    Public Property model() As String
    Get
    Return m_model
    End Get
    Set(ByVal Value As String)
    m_model = Value
    End Set
    End Property
    Public Property year() As Short
    Get
    Return m_year
    End Get
    Set(ByVal Value As Short)
    m_year = Value
    End Set
    End Property
    End Class

  4. Zavřete okno kód Class1.vb a pak přepnete do Form Designer.
  5. Přidejte ovládací prvek DataGrid na Form1. Velikost ovládacího prvku DataGrid přizpůsobená čtyři sloupce a tři řádky.
  6. Přidat ovládací prvky čtyři tlačítka Form1 a potom uspořádat tlačítka vodorovně.
  7. Změňte vlastnost Text Button1 k Další.
  8. Změňte Text vlastnost BUTTON2 na předchozí.
  9. Změňte vlastnost Text Button3 první.
  10. Změňte vlastnost Text Button4 poslední.
  11. Přidejte následující kód třídy Form1 :
    Private cManager As CurrencyManagerPrivate al as New ArrayList()

  12. Vložte následující kód v události Form1_Load :
    al.Add(New guitar("Gibson", "Les Paul", 1958))al.Add(New guitar("Fender", "Jazz Bass", 1964))
    al.Add(New guitar("Guild", "Bluesbird", 1971))

    cManager = CType(DataGrid1.BindingContext(al), CurrencyManager)

    DataGrid1.DataSource = al

  13. Vložte následující kód po postup Form_Load :
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click        cManager.Position += 1
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    cManager.Position -= 1
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    cManager.Position = 0
    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
    cManager.Position = al.Count - 1
    End Sub

  14. Sestavte a spusťte projekt.
  15. Klepnutím na tlačítka příkaz pro přesun mezi řádky ovládacího prvku DataGrid . Všimněte si, že v případě potřeby můžete upravit hodnoty objektů.

Pomocí strukturu namísto třídy

Pravidla pro vazby struktuře jsou stejná jako pravidla pro vazby objektu. Přístupové objekty vlastnosti (člen) jsou povinné. Struktura, která je vytvořena pro tento účel se podobá třídě.


Chcete-li svázat ArrayList struktur, postupujte takto:
  1. Změnit definici třídy modul Class1.vb v příkladu z
    Public Class guitar'...
    End Class

    následující:
    Public Structure guitar'...
    End Structure

  2. Sestavit ukázkový program spustit znovu a ověřte, zda funguje s ArrayList struktur.

Odkazy

Další informace naleznete v tématu "Spotřebitelů z dat v model Windows Forms" v aplikaci Visual Studio .NET Online nápověda.
Vlastnosti

ID článku: 316302 - Poslední kontrola: 20. 1. 2017 - Revize: 1

Váš názor