Bir DataGrid denetimini bir nesne dizisine veya yapı dizisine bağlamak için Visual C# kullanma

Bu makalede, bir nesne dizisinin DataGrid denetimine nasıl bağlanacağınız hakkında bilgi sağlanır.

Orijinal ürün sürümü: Visual C#
Özgün KB numarası: 315786

Özet

Bu makaledeki örnek, nesne özelliği değerlerini görüntülemek için DataGrid denetimine sahip bir Windows formundan ve DataGrid denetiminin satırlarına göz atmak için dört komut düğmesinden oluşur.

Gereksinimler

Bu makalede, aşağıdaki konulara aşina olduğunuz varsayılır:

  • Visual C# programlama kavramları
  • Visual C# .NET

Sınıfı tasarlama

Bir denetime bağlanacak bir sınıfın özellik erişimcileri olmalıdır. Bağlanacak herhangi bir özellik, özellik Set yöntemine ve özellik Get yöntemine sahip olmalıdır. Bu makalede kullanılan örnek sınıfın üç üyesi vardır. Bu makalede yalnızca bir üye açıklanmıştır. Parametreli bir oluşturucu da sağlanmıştır. Ancak bu bir gereksinim değildir.

public class guitar
{
    private string make;
    private string model;
    private short year;

    public guitar()
    {
    }

    public guitar(string make, string model, short year)
    {
        Make=make;
        Model=model;
        Year=year;
    }

    public string Make
    {
        get
        {
            return make;
        }
        set
        {
            make = value;
        }
    }
}

Diziye sınıf örnekleri ekleme

Örnekler oluşturmak ve bunları diziye eklemek için şu adımları izleyin:

  1. Bir dizi bildirin.

  2. sınıfının örneklerini oluşturun ve ardından örnekleri diziye ekleyin.

    private guitar[] arr=new guitar[3];
    arr[0] = new guitar("Gibson", "Les Paul", 1958);
    arr[1] = new guitar("Fender", "Jazz Bass", 1964);
    arr[2] = new guitar("Guild", "Bluesbird", 1971);
    

Diziyi DataGrid denetimine bağlama

Dizi doldurulduktan sonra DataGrid denetiminin DataSource özelliğini dizi olarak ayarlayın. DataGrid denetimindeki sütunlar, kapsam içi özellik erişimcilerinin bulunduğu özelliklere göre doldurulur.

dataGrid1.DataSource=arr;

Diziye göz atmak için bir araç sağlayın

Diziye göz atmak için komutunu kullanabilirsiniz CurrencyManager . Bunu yapmak için denetiminBindingContext, bu örnekte dizi ile ilişkilendirinCurrencyManager.

private CurrencyManager currencyManager=null;
currencyManager = (CurrencyManager)dataGrid1.BindingContext[arr];

sınıfı, CurrencyManager dizinin üyeleri üzerinde yinelemek için işleyebileceğiniz bir Position özelliğe sahiptir. öğesinin geçerli değerini Positionekleyerek veya çıkararak denetimin satırlarına DataGrid göz atabilirsiniz.

//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 = arr.Length - 1;

Adım adım örnek

  1. Visual C# .NET'te yeni bir Windows Uygulaması projesi oluşturun. Form1 varsayılan olarak oluşturulur.

  2. Projeye bir sınıf ekleyin.

  3. Class1.cs içindeki kodu aşağıdaki kodla değiştirin.

    public class guitar
    {
        private string make;
        private string model;
        private short year;
    
        public guitar()
        {
        }
    
        public guitar(string Make, string Model, short Year)
        {
            make=Make;
            model=Model;
            year=Year;
        }
    
        public string Make
        {
            get
            {
                return make;
            }
            set
            {
                make = value;
            }
        }
    
        public string Model
        {
            get
            {
                return model;
            }
            set
            {
                model = value;
            }
        }
    
        public short Year
        {
            get
            {
                return year;
            }
            set
            {
                year = value;
            }
        }
    }
    
  4. Class1.cs kod penceresini kapatın ve form Tasarım Aracı geçin.

  5. Form1'e bir DataGrid denetimi ekleyin. DataGrid denetimini dört sütunu ve üç satırı barındıracak şekilde boyutlandırın.

  6. Form1'e dört Düğme denetimi ekleyin ve düğmeleri yatay olarak düzenleyin.

  7. Button1'in Text özelliğini İleri olarak değiştirin.

  8. Button2'nin Text özelliğini Önceki olarak değiştirin.

  9. Button3'ün Text özelliğini first olarak değiştirin.

  10. Button4'ün Text özelliğini Last olarak değiştirin.

  11. Sınıfına aşağıdaki kodu Form1 ekleyin.

    private guitar[] arr=new guitar[3];
    private CurrencyManager currencyManager=null;
    
  12. Form Tasarım Aracı geçin, forma sağ tıklayın ve özellikler'e tıklayın.

  13. Olaylar simgesine tıklayın ve ardından olayı kodunuza eklemek için olayı yükle'ye Form1_Load çift tıklayın.

  14. Olaya aşağıdaki kodu Form1_Load ekleyin.

    arr[0] = new guitar("Gibson", "Les Paul", 1958);
    arr[1] = new guitar("Fender", "Jazz Bass", 1964);
    arr[2] = new guitar("Guild", "Bluesbird", 1971);
    currencyManager = (CurrencyManager)dataGrid1.BindingContext[arr];
    dataGrid1.DataSource=arr;
    
  15. Form Tasarım Aracı görüntülemek için geçiş yapın.

  16. İleri'ye çift tıklayın ve ardından olaya aşağıdaki kodu button1_Click ekleyin.

    currencyManager.Position++;
    
  17. Önceki'ne çift tıklayın ve ardından olaya aşağıdaki kodu button2_Click ekleyin.

    currencyManager.Position--;
    
  18. İlk'e çift tıklayın ve ardından olaya aşağıdaki kodu button3_Click ekleyin.

    currencyManager.Position = 0;
    
  19. Son'a çift tıklayın ve ardından olaya aşağıdaki kodu button4_Click ekleyin.

    currencyManager.Position = arr.Length - 1;
    
  20. Projeyi derleyin ve çalıştırın.

  21. DataGrid denetiminin satırları arasında hareket etmek için komut düğmelerine tıklayın.

    Not

    İsterseniz nesnelerin değerlerini düzenleyebilirsiniz.

Sınıf yerine yapı kullanma

Bir yapıyı bağlama kuralları, bir nesneyi bağlama kurallarıyla aynıdır. Üye erişimci olan özellik gereklidir. Bu amaç için oluşturulan bir yapı bir sınıfa benzer.

Bir yapı dizisine bağlanmak için aşağıdaki adımları izleyin.

  1. Örnekteki Class1.cs sınıfı modülünün tanımını

    public class guitar
    

    aşağıdaki örne göre:

    public struct guitar
    
  2. Varsayılan oluşturucuyu aşağıdaki gibi açıklama satırı yapın.

    //public guitar()
    //{
    //}
    
  3. Örnek programı yeniden derleyip çalıştırın ve bir dizi yapıyla çalıştığını doğrulayın.

Başvurular

Daha fazla bilgi için Visual Studio .NET Online Yardımı'ndaki Windows Forms Veri Tüketicileri konusuna bakın.