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

Překlady článku Překlady článku
ID článku: 816164 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento podrobný článek popisuje třída ArrayList objektů svázat ovládací prvek DataGrid. V příkladu obsahuje s zobrazte hodnot vlastnosti objektu ovládacího prvku DataGrid formuláře systému Windows a obsahuje čtyři příkazová tlačítka Procházet řádky ovládací prvek DataGrid.

Požadavky

Tento článek předpokládá znalost následujících témat:
  • Visual C++ .NET nebo Visual C++ 2005 programovací pojmy
Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace Service Pack:
  • Microsoft Visual C++ .NET nebo Microsoft Visual C++ 2005

Návrh třídy

Chcete-li navázat ovládací prvek třídy, třídy musí mít přístupové objekty vlastnosti. Vlastnost, které svážete musí mít příjemce funkce a Nastavení funkce. Implementovat vlastnosti pomocí funkce GET a Nastavení funkce a upozorněte kompilátor tyto jsou funkce vlastnost použít klíčové slovo __property. Ukázkové třídy používané v tomto článku má tři členy:
__gc class Guitar
{
private:
        String *make;
        String *model;
        short year;
public:
    Guitar(void);
    ~Guitar(void);
        
        Guitar(String *strMake, String *strModel, short shYear)
        {
            make = strMake;
            model = strModel;
            year = shYear;
        }

        __property String* get_Make() 
        {
            return make; 
        }
        __property void set_Make(String* val)
        {
            make = (val); 
        }
        __property String* get_Model()
        { 
            return model; 
        }
        __property void set_Model(String* val)
        {
            model = (val); 
        }

        __property short get_Year()
        { 
            return year; 
        }
        __property void set_Year(short shValue)
        {
            year = shValue; 
        }
};

Přidat třídy instance ArrayList

Chcete-li vytvořit instance a přidat do třídy ArrayList, postupujte takto:
  1. Třída ArrayList způsobem deklarovat:
    private: ArrayList *arrayList;
  2. V obsluze události FormLoad vytvořit instance třídy a potom přidejte instance třídy ArrayList následujícím způsobem:
    //Create an ArrayList.
    arrayList = new ArrayList();
    
    //Populate the array list.
    arrayList->Add(new guitar(S"GibSon",S"Les Paul",1958));
    arrayList->Add(new guitar(S"Fender",S"Jazz Bass",1958));
    arrayList->Add(new guitar(S"Guild",S"Bluesbird",1958));
    

Vázat ArrayList DataGrid

Po naplnění třídy ArrayList nastavit vlastnosti DataSource ovládacího prvku DataGrid třídy ArrayList. Sloupce v prvku DataGrid jsou naplněna na základě vlastností, pro který existují přístupové objekty vlastnosti v oboru.
// Bind the Array List to DataGrid.
      dataGrid1->DataSource = arrayList;

Přesunout dni ArrayList

Třída CurrencyManager můžete použít k procházení třídy ArrayList. To provedete deklarovat proměnnou třídy CurrencyManager následovně:
private: CurrencyManager *currencyManager;
přidružit třídy CurrencyManager s funkce BindingContext ovládacího prvku (v tomto případě ArrayList).
currencyManager = (CurrencyManager*)dataGrid1->BindingContext
->Item[arrayList];
CurrencyManager třída má vlastnost Pozice, které lze manipulovat s iterovat přes členové třídy ArrayList. Přidáním nebo odečtením z aktuální hodnotu funkce Pozice, můžete přesunout až řádky ovládací prvek DataGrid.
//Move forward one element.
currencyManager.Position++;
//Move back one element.
currencyManager.Position--;
//Move to the beginning.
currencyManager.Position = 0;
//Move to the end.
currencyManager.Position = arrayList.Count - 1;
				

Podrobný příklad

  1. Spustit Microsoft Visual Studio .NET 2003 nebo Microsoft Visual Studio 2005.
  2. V nabídce soubor přejděte na příkaz Nový a klepněte na příkaz projekt.
  3. Klepněte v části Typy ProjectProjekty Visual C++ a klepněte v části šablonyAplikace model Windows Forms (.NET).

    Poznámka: V aplikaci Visual Studio 2005 Visual C++ klepněte v části Typy projektu a klepněte na příkaz Model Windows Forms aplikace v části šablony.
  4. V textovém poli název zadejte Q816164 a potom klepněte na tlačítko OK.
  5. V aplikaci Solution Explorer přepnout na zobrazení třídy. V nabídce Zobrazit klepněte na příkaz Zobrazit třídy.
  6. Klepněte pravým tlačítkem myši Q816164, přejděte na příkaz Přidat a potom klepněte na tlačítko Přidat třídu.
  7. V dialogovém okně Přidat třídyObecná třída C++ klepněte v části šablony a klepněte na tlačítko Otevřít.

    Poznámka: V aplikaci Visual Studio 2005 Cass C++ klepněte v části šablony a klepněte na tlačítko Přidat.
  8. V Průvodci Obecná třída C++ Guitar zadejte do textového pole název třídy a klepněte na tlačítko Dokončit. Třída Guitar zobrazen následujícím způsobem:
    #pragma once
    
    class Guitar
    {
    public:
    	Guitar(void);
    	~Guitar(void);
    };
    
    Poznámka V Visual Studio 2005, je kód způsobem.
    #pragma once
    
    ref class Guitar
    {
    public:
    	Guitar(void);
    };
    
    Chcete-li, aby Guitar třídy rozšíření Managed C++ třídy, přidat klíčové slovo __gc před třídy Guitar způsobem:
    __gc class Guitar
    {
    public:
    	Guitar(void);
    	~Guitar(void);
    };
    
  9. Replace the existing code in the Guitar.h file with the following code:
    #pragma once
    
    using namespace System;
    __gc class Guitar
    {
    private:
            String *make;
            String *model;
            short year;
    public:
        Guitar(void);
        ~Guitar(void);
            
            Guitar(String *strMake, String *strModel, short shYear)
            {
                make = strMake;
                model = strModel;
                year = shYear;
            }
    
            __property String* get_Make() 
            {
                return make; 
            }
            __property void set_Make(String* val)
            {
                make = (val); 
            }
            __property String* get_Model()
            { 
                return model; 
            }
            __property void set_Model(String* val)
            {
                model = (val); 
            }
    
            __property short get_Year()
            { 
                return year; 
            }
            __property void set_Year(short shValue)
            {
                year = shValue; 
            }
    };
    
    
    Note You must add the common language runtime support compiler option (/clr:oldSyntax) in Visual C++ 2005 to successfully compile the previous code sample. Přidat běžné podporu kompilátor možnost runtime jazyka Visual C++ 2005, postupujte takto:
    1. Klepněte na tlačítko projekt a klepněte na tlačítko <ProjectName> Vlastnosti.

      Poznámka:<ProjectName> je zástupný název projektu.
    2. Rozbalte položku Konfigurace vlastnosti a potom klepněte na položku Obecné.
    3. Klepnutím vyberte Common Language Runtime podpory, staré syntaxe (/ clr:oldSyntax) v podporují Common Language Runtime projektu nastavení v pravém podokně, klepněte na tlačítko použít a potom klepněte na tlačítko OK.
    Další informace o společného jazykového modulu runtime podporují možnost kompilátoru naleznete na následujícím webu:
    / clr (Common Language Runtime kompilace)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  10. Zavřete okno Guitar.h kód a potom přepnout Form Designer.
  11. Přidat ovládací prvek DataGrid Form1. Velikost ovládací prvek DataGrid přizpůsobit čtyři sloupce a tři řádky.
  12. Přidat ovládací prvky čtyři tlačítka Form1 a potom uspořádat tlačítka vodorovně.
  13. Změnit vlastnost TextButton1Další.
  14. Změnit vlastnost TextButton2 na předchozí.
  15. Změnit vlastnost TextButton3první.
  16. Změnit vlastnost TextButton4poslední.
  17. Otevřete soubor Form1.h a přidejte následující kód na začátku:
    #include "Guitar.h"
  18. Přidejte následující kód třídy Form1:
    private: System::Collections::ArrayList *arrayList;	
    private: System::Windows::Forms::CurrencyManager *currencyManager;	
    
  19. Přepněte do Návrhář formulářů Formulář1 klepněte pravým tlačítkem myši a potom klepněte na příkaz Vlastnosti.
  20. Klepněte na ikonu události a potom poklepejte na události Load přidat událost Form1_Load váš kód.
  21. Vložte následující kód v události Form1_Load:
    //Create an arraylist.
    arrayList = new ArrayList();
    
    arrayList->Add(new Guitar(S"GibSon",S"Les Paul",1958));
    arrayList->Add(new Guitar(S"Fender",S"Jazz Bass",1958));
    arrayList->Add(new Guitar(S"Guild",S"Bluesbird",1958));
    
                
     currencyManager = dynamic_cast <CurrencyManager*>
                     (dataGrid1->BindingContext->Item[arrayList]);
    // Bind the Array List to DataGrid.
    dataGrid1->DataSource = arrayList;
    
  22. Přepnout Form Designer.
  23. Poklepejte na Další a potom přidejte následující kód události button1_Click: //Move
    //Move to the next position.
    currencyManager->Position++;
    
  24. Poklepejte na předchozí a následující kód přidejte do události button2_Click: //Move
    //Move to the previous position.
    currencyManager->Position--;
    
  25. Poklepejte na první a přidejte následující kód do události button3_Click: //Move
    //Move to the first position.
    currencyManager->Position =0;
    
  26. Poklepejte na poslední a přidejte následující kód do události button4_Click: //Move
    //Move to the last position.
    currencyManager->Position = currencyManager->Count -1;
    
  27. Sestavit a spustit projektu.
  28. Klepnutím na příkazová tlačítka Přesunout prostřednictvím řádky ovládací prvek DataGrid. Všimněte si můžete upravit hodnoty objekty, pokud potřebujete.

Odkazy

Další informace o spotřebitele dat na formulářích Windows navštivte webu Microsoft Developer:
http://msdn2.microsoft.com/en-us/library/aa983578(VS.71).aspx

Vlastnosti

ID článku: 816164 - Poslední aktualizace: 13. května 2007 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Klíčová slova: 
kbmt kbdatabinding kbcollections kbhowtomaster kbhowto KB816164 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:816164

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com