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:
Bir dizi bildirin.
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 Position
ekleyerek 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
Visual C# .NET'te yeni bir Windows Uygulaması projesi oluşturun. Form1 varsayılan olarak oluşturulur.
Projeye bir sınıf ekleyin.
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; } } }
Class1.cs kod penceresini kapatın ve form Tasarım Aracı geçin.
Form1'e bir DataGrid denetimi ekleyin. DataGrid denetimini dört sütunu ve üç satırı barındıracak şekilde boyutlandırın.
Form1'e dört Düğme denetimi ekleyin ve düğmeleri yatay olarak düzenleyin.
Button1'in Text özelliğini İleri olarak değiştirin.
Button2'nin Text özelliğini Önceki olarak değiştirin.
Button3'ün Text özelliğini first olarak değiştirin.
Button4'ün Text özelliğini Last olarak değiştirin.
Sınıfına aşağıdaki kodu
Form1
ekleyin.private guitar[] arr=new guitar[3]; private CurrencyManager currencyManager=null;
Form Tasarım Aracı geçin, forma sağ tıklayın ve özellikler'e tıklayın.
Olaylar simgesine tıklayın ve ardından olayı kodunuza eklemek için olayı yükle'ye
Form1_Load
çift tıklayın.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;
Form Tasarım Aracı görüntülemek için geçiş yapın.
İleri'ye çift tıklayın ve ardından olaya aşağıdaki kodu
button1_Click
ekleyin.currencyManager.Position++;
Önceki'ne çift tıklayın ve ardından olaya aşağıdaki kodu
button2_Click
ekleyin.currencyManager.Position--;
İlk'e çift tıklayın ve ardından olaya aşağıdaki kodu
button3_Click
ekleyin.currencyManager.Position = 0;
Son'a çift tıklayın ve ardından olaya aşağıdaki kodu
button4_Click
ekleyin.currencyManager.Position = arr.Length - 1;
Projeyi derleyin ve çalıştırın.
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.
Ö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
Varsayılan oluşturucuyu aşağıdaki gibi açıklama satırı yapın.
//public guitar() //{ //}
Ö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.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin