Aracılığıyla paylaş


DataGridView Denetimi Mimarisi (Windows Forms)

Denetim DataGridView ve ilgili sınıfları, tablo verilerini görüntülemek ve düzenlemek için esnek, genişletilebilir bir sistem olarak tasarlanmıştır. Bu sınıfların tümü ad alanında System.Windows.Forms yer alır ve hepsi "DataGridView" ön eki ile adlandırılır.

Mimari Öğeleri

Birincil DataGridView eşlikçi sınıfları'ndan DataGridViewElementtüretilir. Aşağıdaki nesne modeli devralma hiyerarşisini DataGridViewElement gösterir.

Diagram that shows the DataGridViewElement Object Model hierarchy.

DataGridViewElement sınıfı, üst DataGridView denetime bir başvuru sağlar ve numaralandırmadaki DataGridViewElementStates değerlerin birleşimini temsil eden bir değeri tutan bir özelliğine sahiptirState.

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

Datagridviewelementstates

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

Bu numaralandırmanın değerleri bit düzeyinde mantıksal işleçlerle birleştirilebilir, böylece State özellik aynı anda birden fazla durumu ifade edebilir. Örneğin, bir DataGridViewElement aynı anda Frozen, Selectedve Visibleolabilir.

Hücreler ve Bantlar

Denetim DataGridView iki temel nesne türünü içerir: hücreler ve bantlar. Tüm hücreler temel sınıftan DataGridViewCell türetilir. ve iki tür bant, DataGridViewColumnDataGridViewRowtemel sınıftan DataGridViewBand türetilir.

Denetim DataGridView birkaç sınıfla birlikte çalışabilir, ancak en sık karşılaşılanlar , DataGridViewColumnve DataGridViewRow'tirDataGridViewCell.

DataGridViewCell

Hücre, için DataGridViewtemel etkileşim birimidir. Görüntüleme hücreler üzerinde ortalanır ve veri girişi genellikle hücreler aracılığıyla gerçekleştirilir. Sınıfının koleksiyonunu kullanarak hücrelere Cells erişebilir ve denetimin koleksiyonunu DataGridViewRow kullanarak seçili hücrelere SelectedCellsDataGridView erişebilirsiniz. Aşağıdaki nesne modeli bu kullanımı gösterir ve devralma hiyerarşisini DataGridViewCell gösterir.

Diagram that shows the DataGridViewCell Object Model hierarchy.

türü DataGridViewCell , tüm hücre türlerinin türetildiği soyut bir temel sınıftır. DataGridViewCell ve türetilmiş türleri Windows Forms denetimleri değil, bazı konak Windows Forms denetimleridir. Bir hücre tarafından desteklenen tüm düzenleme işlevleri genellikle barındırılan denetim tarafından işlenir.

DataGridViewCell nesneler kendi görünüm ve boyama özelliklerini Windows Forms denetimleriyle aynı şekilde denetlemez. Bunun yerine, DataGridView nesnelerinin görünümünden DataGridViewCell sorumludur. Denetimin özellikleri ve olaylarıyla DataGridView etkileşim kurarak hücrelerin görünümünü ve davranışını önemli ölçüde etkileyebilirsiniz. Denetimin özelliklerinin DataGridView ötesinde özelleştirmeler için özel gereksinimleriniz olduğunda, alt sınıflarından veya sınıflarından DataGridViewCell birinden türetilen kendi sınıfınızı uygulayabilirsiniz.

Aşağıdaki listede, öğesinden DataGridViewCelltüretilen sınıflar gösterilmektedir:

DataGridViewColumn

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

Diagram that shows the DataGridViewColumn Object Model hierarchy.

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

Aşağıdaki listede, öğesinden DataGridViewColumntüretilen sınıflar gösterilmektedir:

DataGridView Düzenleme Denetimleri

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

Diagram showing the DataGridView Editing Control Object Model hierarchy.

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

Kendi düzenleme denetimlerinizi oluşturma hakkında bilgi için bkz . Nasıl yapılır: Windows Forms DataGridView Hücrelerinde Konak Denetimleri.

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

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 eklendiği veri deposundan bir kaydın DataGridView veri alanlarını görüntüler. Koleksiyonu kullanarak denetimin DataGridView satırlarına Rows erişebilirsiniz. Koleksiyonu kullanarak seçili satırlara SelectedRows erişebilirsiniz. Aşağıdaki nesne modeli bu kullanımı gösterir ve devralma hiyerarşisini DataGridViewRow gösterir.

Diagram that shows the DataGridViewRow Object Model hierarchy.

Kendi türlerinizi sınıfından DataGridViewRow türetebilirsiniz, ancak bu genellikle gerekli olmayacaktır. Denetim, DataGridView nesnelerinin davranışını özelleştirmek için satırla ilgili çeşitli olaylara ve özelliklere DataGridViewRow sahiptir.

Denetimin DataGridViewAllowUserToAddRows özelliğini etkinleştirirseniz, son satır olarak yeni satır eklemek için özel bir satır görüntülenir. Bu satır koleksiyonun Rows bir parçasıdır, ancak dikkatinizi gerektirebilecek özel işlevlere sahiptir. Daha fazla bilgi için bkz . Windows Forms DataGridView Denetiminde Yeni Kayıtlar için Satır Kullanma.

Ayrıca bkz.