DataGridView Denetimi Mimarisi (Windows Forms)

Denetim DataGridView ve ilgili sınıfları, tablosal verileri görüntülemeye ve düzenlemeye yönelik esnek, genişletilebilir bir sistem olacak şekilde tasarlanmıştır. Bu sınıfların hepsi ad alanı System.Windows.Forms içinde yer alan ve "DataGridView" ön eki ile adlandırılmıştır.

Mimari Öğeleri

Birincil yardımcı DataGridView sınıflar, 'den türetildi. DataGridViewElement Aşağıdaki nesne modeli devralma DataGridViewElement hiyerarşisini gösterir.

Diagram that shows the DataGridViewElement Object Model hierarchy.

sınıfı, üst denetime bir başvuru sağlar ve bir özelliğine sahiptir. Bu özellik, numaralamadan değerlerin DataGridViewElementDataGridViewState birleşimini DataGridViewElementStates temsil eden bir değer içerir.

Aşağıdaki bölümlerde yardımcı sınıflar DataGridView daha ayrıntılı olarak açıklanmaktadır.

Datagridviewelementstates

Numaralama DataGridViewElementStates aşağıdaki değerleri içerir:

Bu numaralama değerlerini bitwise mantıksal işleçler ile birleştirebilirsiniz, böylece özelliği aynı anda State birden fazla durum ifade edebilirsiniz. Örneğin, aynı DataGridViewElement anda , ve FrozenSelectedVisible olabilir.

Hücreler ve Bantlar

Denetim DataGridView iki temel nesne türü içerir: hücreler ve bantlar. Tüm hücreler temel sınıftan DataGridViewCell türetildi. ve bantlarının iki türü DataGridViewColumn de DataGridViewRow temel sınıftan DataGridViewBand türetildi.

Denetim DataGridView birkaç sınıfla birlikte çalışabilir, ancak en sık karşılaşılan , DataGridViewCell ve DataGridViewColumnDataGridViewRow sınıflarıdır.

DataGridViewCell

hücresi, için temel etkileşim DataGridView birimidir. Görüntüleme hücreleri ortalar ve veri girişi genellikle hücreler aracılığıyla gerçekleştirilir. Sınıf koleksiyonunu kullanarak Cells hücrelere erişin ve DataGridViewRow denetimin koleksiyonunu kullanarak seçili SelectedCells hücrelere DataGridView erişin. Aşağıdaki nesne modeli bu kullanımı ve devralma DataGridViewCell hiyerarşisini gösterir.

Diagram that shows the DataGridViewCell Object Model hierarchy.

Tür, DataGridViewCell tüm hücre türlerinin türet olduğu soyut bir temel sınıftır. DataGridViewCellve türetilen türleri Formlar Windows, ancak bazı konak Windows Forms denetimleridir. Bir hücre tarafından desteklenen tüm düzenleme işlevleri genellikle barındırılan bir denetim tarafından ele alınan bir işlevdir.

DataGridViewCellnesneleri kendi görünümlerini ve tablo özelliklerini Formlar denetimleriyle aynı Windows denetlemez. Bunun DataGridView yerine, nesnelerinin görünümü DataGridViewCell sorumludur. Denetimin özellikleri ve olaylarıyla etkileşim kurarak hücrelerin görünümünü ve DataGridView davranışını önemli ölçüde etkileyebilirsiniz. Denetimin özelliklerini aşan özelleştirmeler için özel gereksinimleriniz olduğunda, alt sınıflarından veya bunlardan biri türeten kendi DataGridViewDataGridViewCell sınıfınızı gerçekleştirebilirsiniz.

Aşağıdaki listede, 'den türetilen sınıflar DataGridViewCell görüntülenir:

DataGridViewColumn

Denetimin bağlı DataGridView veri deposu şeması, denetimin DataGridView sütunlarında ifade edildi. Koleksiyonu kullanarak DataGridView denetimin sütunlarına Columns erişebilirsiniz. Koleksiyonu kullanarak seçili sütunlara SelectedColumns erişebilirsiniz. Aşağıdaki nesne modeli bu kullanımı ve devralma DataGridViewColumn hiyerarşisini gösterir.

Diagram that shows the DataGridViewColumn Object Model hierarchy.

Bazı anahtar hücre türlerine karşılık gelen sütun türleri vardır. Bunlar temel sınıftan DataGridViewColumn türetilen.

Aşağıdaki listede, 'den türetilen sınıflar DataGridViewColumn görüntülenir:

DataGridView Düzenleme Denetimleri

Gelişmiş düzenleme işlevselliğini destekleyen hücreler genellikle bir Windows Forms denetiminden türetilen barındırılan bir denetim kullanır. Bu denetimler arabirimini de IDataGridViewEditingControl uygulamaya ekler. Aşağıdaki nesne modeli, bu denetimlerin kullanımını gösterir.

Diagram showing the DataGridView Editing Control Object Model hierarchy.

Aşağıdaki düzenleme denetimleri denetimle DataGridView birlikte sağlanır:

Kendi düzenleme denetimlerinizi oluşturma hakkında daha fazla bilgi için, bkz. How to: Host Controls in Windows Forms DataGridView Cells.

Aşağıdaki tabloda hücre türleri, sütun türleri ve düzenleme denetimleri arasındaki ilişki göstermektedir.

Hücre türü Barındırılan denetim Sütun türü
DataGridViewButtonCell yok DataGridViewButtonColumn
DataGridViewCheckBoxCell yok DataGridViewCheckBoxColumn
DataGridViewComboBoxCell DataGridViewComboBoxEditingControl DataGridViewComboBoxColumn
DataGridViewImageCell yok DataGridViewImageColumn
DataGridViewLinkCell yok DataGridViewLinkColumn
DataGridViewTextBoxCell DataGridViewTextBoxEditingControl DataGridViewTextBoxColumn

DataGridViewRow

sınıfı, DataGridViewRow denetimin ekli olduğu veri deposuna bir kaydın veri DataGridView alanlarını görüntüler. Koleksiyonu kullanarak DataGridView denetimin satırlarına Rows erişin. Koleksiyonu kullanarak seçili satırlara SelectedRows erişin. Aşağıdaki nesne modeli bu kullanımı ve devralma DataGridViewRow hiyerarşisini gösterir.

Diagram that shows the DataGridViewRow Object Model hierarchy.

Kendi türlerinizi sınıfından DataGridViewRow türetin, ancak bu genellikle gerekli olmayacaktır. DataGridViewDenetimin, nesnelerinin davranışını özelleştirmeye yönelik satırla ilgili çeşitli olaylar ve özellikleri DataGridViewRow vardır.

Denetimin özelliğini DataGridViewAllowUserToAddRows etkinleştirirsanız, son satır olarak yeni satırlar eklemek için özel bir satır görünür. Bu satır koleksiyonun Rows bir parçası ancak dikkat gerektiren özel işlevlere sahiptir. Daha fazla bilgi için bkz. Windows Forms DataGridView DenetimindeYeni Kayıtlar için Satırı Kullanma.

Ayrıca bkz.