Visual C++ .NET veya Visual C++ 2005 kullanarak nesneleri veya yapıları için bir ArrayList DataGrid denetimi bağlamak hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 816164 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu adım adım makalede, bir ArrayList sınıfını nesnelerin bir DataGrid denetimi için bağlama açıklamaktadır. Bu örnek, nesne özelliği değerleri görüntülemek için bir DataGrid denetimi içeren Windows form içerir ve DataGrid'i satırları bulmak için dört komut düğmesi içerir.

Gereksinimler

Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:
  • Visual C++ .NET veya Visual C++ 2005 programlama kavramları
Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Visual C++ .NET veya Microsoft Visual C++ 2005

Tasarım sınıfı

Sınıf, bir sınıfı, bir denetime bağlamak için <a0></a0>, özellik erişimcisi olması gerekir. Bağlama herhangi bir özelliği, bir alıcı işlevi ve bir kurucu işlevi olmalıdır. Alıcı işlevi ve Ayarlayıcısı işlevini kullanarak özelliklerini uygulamak ve bunlar __property anahtar sözcüğünü kullanın, özellik işlevleri derleyici bildir. Üç üyeleri bu makalede kullanılan örnek sınıfı vardır:
__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; 
        }
};

Sınıfı örnekleri için bir ArrayList ekleyin...

Örnekleri oluşturmak ve bunları için ArrayList sınıfını eklemek için aşağıdaki adımları izleyin:
  1. Bir ArrayList sınıfını aşağıdaki gibi bildirin:
    private: ArrayList *arrayList;
  2. FormLoad olay işleyicisi, sınıfın örneklerini oluşturun ve örnekleri için ArrayList sınıfını aşağıdaki şekilde ekleyin: bir
    //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));
    

DataGrid için ArrayList bağlama

ArrayList sınıfını doldurulur sonra DataGrid denetiminin DataSource özelliği için ArrayList sınıfını ayarlayın. DataGrid denetimi içinde sütunları olan kapsam içinde özellik erişimcisi mevcut bağlı doldurulur.
// Bind the Array List to DataGrid.
      dataGrid1->DataSource = arrayList;

ArrayList taşıma

CurrencyManager sınıfı, ArrayList sınıfını arasında taşımak için kullanabilirsiniz. Bunu yapmak için <a0></a0>, bir değişken CurrencyManager sınıfı gibi bildirin:
private: CurrencyManager *currencyManager;
CurrencyManager sınıfı, (Bu durumda, ArrayList) bir denetimin BindingContext işlevi ile ilişkilendirin.
currencyManager = (CurrencyManager*)dataGrid1->BindingContext
->Item[arrayList];
CurrencyManager sınıfı ArrayList sınıfını üyeleri üzerinde yineleme için işleyen bir Konum özelliğine sahiptir. Ekleme veya Konum</a0> işlevinin geçerli değeri,'den çıkararak, DataGrid'i satırları arasında taşıyabilirsiniz.
//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;
				

Adım adım örnek

  1. Microsoft Visual Studio .NET 2003 veya Microsoft Visual Studio 2005'i başlatın.
  2. Dosya menüsünde Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. ' Yi tıklatın altında Project Types, Visual C++ Projectsşablonları altında Windows Forms uygulaması (.NET)'ı tıklatın.

    Not Visual Studio 2005 ' te Project Types altında Visual C++ ' ı tıklatın ve şablonları altında Windows Forms uygulama ' yı tıklatın.
  4. Adı metin kutusuna, Q816164 yazın ve Tamam ' ı tıklatın.
  5. Solution Explorer'da sınıfı görünümüne geçin. Bunu yapmak için <a0></a0>, Görünüm menüsünden Sınıfı görünüm ' ü tıklatın.
  6. Ekle işaret Q816164 sağ tıklatın ve Add Class</a1>'ı tıklatın.
  7. Add Class iletişim kutusundaki Şablonlar altında Genel C++ sınıf ' ı tıklatın ve ' ı tıklatın.

    Not Visual Studio 2005 ' te Şablonlar altında C++ Cass ' ı tıklatın ve sonra Ekle ' yi tıklatın.
  8. Genel C++ sınıf Sihirbazı Guitarsınıf adı</a1> metin kutusuna yazın ve sonra da <a2>son</a2>'u tıklatın. Guitar sınıfını aşağıdaki gibi görünür:
    #pragma once
    
    class Guitar
    {
    public:
    	Guitar(void);
    	~Guitar(void);
    };
    
    Not Visual Studio 2005, kodu aşağıdaki gibidir.
    #pragma once
    
    ref class Guitar
    {
    public:
    	Guitar(void);
    };
    
    Bir C++ sınıfı için Yönetilen Uzantılar sınıf Guitar yapmak için <a0></a0>, __gc anahtar Guitar sınıfı önce aşağıdaki şekilde ekleyin:
    __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. Visual C++ 2005'te ortak dil çalışma zamanı destek derleyici seçeneği eklemek için aşağıdaki adımları izleyin:
    1. Project tıklatın ve sonra <ProjectName> Özellikleri.

      Not<ProjectName> projenin adı için yer tutucudur.
    2. Yapılandırma özellikleri ' ni genişletin ve sonra Genel ' i tıklatın.
    3. Seçmek için tıklatın ortak dil çalışma zamanı modülü ve Destek, eski sözdizimi (/ clr:oldSyntax)Common Language Runtime desteği proje ayarında sağ bölmede, Uygula ' yı tıklatın ve sonra Tamam ' ı tıklatın.
    Ortak dil çalıştırma hakkında daha fazla bilgi için derleyici seçeneği destekleyen, aşağıdaki Microsoft Web sitesini ziyaret edin:
    / clr (ortak dil çalışma zamanı derleme)
    http://msdn2.microsoft.com/en-us/library/k8d11d4s.aspx
  10. Guitar.h kodu penceresini kapatın ve sonra form tasarımcısı geçin.
  11. DataGrid denetimi Form1'e ekleyin. Dört sütun ve üç satır DataGrid'i boyutu.
  12. Form1'e dört Düğme denetimi ekleyin ve sonra bu düğmeleri yatay yerleştir.
  13. Text özelliğini Button1ileri için değiştirin.
  14. Button2Text özelliği için önceki değiştirin.
  15. Text özelliğini Button3ilk için değiştirin.
  16. Button4 <a1>Text</a1> özelliği, son için değiştirin.
  17. Form1.h dosyayı açın ve başına aşağıdaki kodu ekleyin:
    #include "Guitar.h"
  18. Form1 sınıfa aşağıdaki kodu ekleyin:
    private: System::Collections::ArrayList *arrayList;	
    private: System::Windows::Forms::CurrencyManager *currencyManager;	
    
  19. Form tasarımcısı geçiş form1 ' ı sağ tıklatın ve sonra da Properties ' i tıklatın.
  20. Olayları</a0> simgesini tıklatın ve sonra da Load olayı kodunuzu Form1_Load olay eklemek için çift tıklatın.
  21. Form1_Load olayda aşağıdaki kodu yapıştırın:
    //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. Form tasarımcısı geçin.
  23. Ileri ' i çift tıklatın ve sonra da için <a2>Button1_Click</a2> olay aşağıdaki kodu ekleyin: sonraki konuma
    //Move to the next position.
    currencyManager->Position++;
    
  24. Önceki ' ı ve sonra da button2_Click olay için aşağıdaki kodu ekleyin: önceki konuma
    //Move to the previous position.
    currencyManager->Position--;
    
  25. Ilk ' i çift tıklatın ve sonra da button3_Click olay için aşağıdaki kodu ekleyin: ilk konumuna
    //Move to the first position.
    currencyManager->Position =0;
    
  26. Son ' i çift tıklatın ve sonra da button4_Click olay için aşağıdaki kodu ekleyin: son konumuna
    //Move to the last position.
    currencyManager->Position = currencyManager->Count -1;
    
  27. Oluşturun ve sonra projeyi çalıştırın.
  28. DataGrid denetimi satırları arasında taşımak için komut düğmeleri tıklatın. Gerekiyorsa nesnelerin değerleri düzenleyebilirsiniz dikkat edin.

Referanslar

Daha fazla veri hakkında bilgi için tüketicilerin Windows formlarında, aşağıdaki Microsoft Developer Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/aa983578(VS.71).aspx

Özellikler

Makale numarası: 816164 - Last Review: 13 Mayıs 2007 Pazar - Gözden geçirme: 2.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C++ 2005 Express Edition
  • Microsoft Visual C++ .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbdatabinding kbcollections kbhowtomaster kbhowto KB816164 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:816164

Geri Bildirim Ver

 

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