Windows Forms DataGridView Denetiminde Sütun Türleri

Denetim, DataGridView bilgilerini görüntülemek ve kullanıcıların bilgileri değiştirmesine veya eklemesine olanak tanımak için birkaç sütun türü kullanır.

Bir DataGridView denetimi bağladığınızda ve özelliğini olarak trueayarladığınızdaAutoGenerateColumns, ilişkili veri kaynağında yer alan veri türlerine uygun varsayılan sütun türleri kullanılarak sütunlar otomatik olarak oluşturulur.

Ayrıca, sütun sınıflarından herhangi birinin örneklerini kendiniz oluşturabilir ve bunları özelliği tarafından döndürülen koleksiyona Columns ekleyebilirsiniz. Bu örnekleri ilişkisiz sütunlar olarak kullanmak üzere oluşturabilir veya el ile bağlayabilirsiniz. El ile bağlanan sütunlar, örneğin otomatik olarak oluşturulan bir sütunu başka türde bir sütunla değiştirmek istediğinizde kullanışlıdır.

Aşağıdaki tabloda, denetimde DataGridView kullanılabilecek çeşitli sütun sınıfları açıklanmaktadır.

Sınıf Tanım
DataGridViewTextBoxColumn Metin tabanlı değerlerle kullanılır. Sayılara ve dizelere bağlanırken otomatik olarak oluşturulur.
DataGridViewCheckBoxColumn ve CheckState değerleriyle kullanılırBoolean. Bu türlerdeki değerlere bağlanırken otomatik olarak oluşturulur.
DataGridViewImageColumn Görüntüleri görüntülemek için kullanılır. Bayt dizilerine, Image nesnelere veya Icon nesnelere bağlanırken otomatik olarak oluşturulur.
DataGridViewButtonColumn Hücrelerdeki düğmeleri görüntülemek için kullanılır. Bağlama sırasında otomatik olarak oluşturulmaz. Genellikle ilişkisiz sütunlar olarak kullanılır.
DataGridViewComboBoxColumn Hücrelerde açılan listeleri görüntülemek için kullanılır. Bağlama sırasında otomatik olarak oluşturulmaz. Genellikle verilere el ile bağlıdır.
DataGridViewLinkColumn Hücrelerdeki bağlantıları görüntülemek için kullanılır. Bağlama sırasında otomatik olarak oluşturulmaz. Genellikle verilere el ile bağlıdır.
Özel sütun türünüz Özel görünüm, davranış veya barındırılan DataGridViewColumn denetimler sağlamak için sınıfını veya türetilmiş sınıflarından herhangi birini devralarak kendi sütun sınıfınızı oluşturabilirsiniz. Daha fazla bilgi için bkz . How to: Customize Cells and Columns in the Windows Forms DataGridView Control by Extending The Behavior and Appearance

Bu sütun türleri aşağıdaki bölümlerde daha ayrıntılı olarak açıklanmıştır.

Datagridviewtextboxcolumn

DataGridViewTextBoxColumn, sayılar ve dizeler gibi metin tabanlı değerlerle kullanılmak üzere genel amaçlı bir sütun türüdür. Düzenleme modunda, etkin hücrede kullanıcıların hücre değerini değiştirmesini sağlayan bir TextBox denetim görüntülenir.

Hücre değerleri otomatik olarak görüntülenmek üzere dizelere dönüştürülür. Kullanıcı tarafından girilen veya değiştirilen değerler, uygun veri türünde bir hücre değeri oluşturmak için otomatik olarak ayrıştırılır. Denetimin CellFormatting ve CellParsing olaylarını DataGridView işleyerek bu dönüştürmeleri özelleştirebilirsiniz.

Bir sütunun hücre değeri veri türü, sütunun ValueType özelliğinde belirtilir.

Datagridviewcheckboxcolumn

DataGridViewCheckBoxColumn ve CheckState değerleriyle Boolean kullanılır. Boolean değerler, özelliğin değerine ThreeState bağlı olarak iki durumlu veya üç durumlu onay kutuları olarak görüntülenir. Sütun değerlere CheckState bağlı olduğunda, ThreeState özellik değeri varsayılan olarakdır true .

Genellikle, onay kutusu hücre değerleri diğer veriler gibi depolamaya veya toplu işlemler gerçekleştirmeye yöneliktir. Kullanıcılar bir onay kutusu hücresine tıkladığında hemen yanıt vermek istiyorsanız, olayı işleyebilirsiniz CellClick , ancak bu olay hücre değeri güncelleştirilmeden önce gerçekleşir. Tıklama sırasında yeni değere ihtiyacınız varsa, bir seçenek, beklenen değerin geçerli değere göre hesaplanmasıdır. Bir diğer yaklaşım da değişikliği hemen işlemek ve olaya yanıt vermek için olayı işlemektir CellValueChanged . Hücreye tıklandığında değişikliği işlemek için olayı işlemeniz CurrentCellDirtyStateChanged gerekir. İşleyicide, geçerli hücre bir onay kutusu hücresiyse yöntemini çağırın CommitEdit ve değeri geçirin Commit .

Datagridviewımagecolumn

DataGridViewImageColumn, görüntüleri görüntülemek için kullanılır. Görüntü sütunları bir veri kaynağından otomatik olarak doldurulabilir, ilişkisiz sütunlar için el ile doldurulabilir veya olay işleyicisinde CellFormatting dinamik olarak doldurulabilir.

Bir veri kaynağındaki görüntü sütununun otomatik popülasyonu, sınıfı tarafından desteklenen tüm biçimler ve Microsoft® Access ve Northwind örnek veritabanı tarafından Image kullanılan OLE Resim biçimi de dahil olmak üzere çeşitli görüntü biçimlerindeki bayt dizileriyle çalışır.

Görüntü sütununu el ile doldurma, bir işlevinin işlevselliğini DataGridViewButtonColumnsağlamak ancak özelleştirilmiş bir görünüme sahip olmak istediğinizde kullanışlıdır. Bir görüntü hücresinde DataGridView.CellClick tıklamaları yanıtlamak için olayı işleyebilirsiniz.

Olay için CellFormatting bir görüntü sütununun hücrelerinin bir işleyicide doldurulması, hesaplanmış değerler veya görüntü olmayan biçimlerdeki değerler için görüntü sağlamak istediğinizde kullanışlıdır. Örneğin, , "middle"gibi dize değerlerini içeren ve "low" simge olarak "high"görüntülemek istediğiniz bir "Risk" sütuna sahip olabilirsiniz. Alternatif olarak, görüntülerin ikili içeriği yerine yüklenmesi gereken görüntülerin konumlarını içeren bir "Görüntü" sütuna sahip olabilirsiniz.

Datagridviewbuttoncolumn

DataGridViewButtonColumnile, düğme içeren bir hücre sütunu görüntüleyebilirsiniz. Bu, kullanıcılarınızın belirli kayıtlarda sipariş verme veya alt kayıtları ayrı bir pencerede görüntüleme gibi eylemleri gerçekleştirmesi için kolay bir yol sağlamak istediğinizde kullanışlıdır.

Bir denetimin veri bağlaması DataGridView yapıldığında düğme sütunları otomatik olarak oluşturulmaz. Düğme sütunlarını kullanmak için bunları el ile oluşturmanız ve özelliği tarafından döndürülen koleksiyona DataGridView.Columns eklemeniz gerekir.

Olayı işleyerek DataGridView.CellClick düğme hücrelerindeki kullanıcı tıklamalarını yanıtlayabilirsiniz.

DataGridViewComboBoxColumn

DataGridViewComboBoxColumnile, açılan liste kutuları içeren bir hücre sütunu görüntüleyebilirsiniz. Bu, Northwind örnek veritabanındaki Products tablosunun Category sütunu gibi yalnızca belirli değerleri içerebilen alanlardaki veri girişi için kullanışlıdır.

Tüm hücreler için kullanılan açılan listeyi, özellik tarafından Items döndürülen koleksiyon aracılığıyla el ile veya , DisplayMemberve ValueMember özellikleri aracılığıyla DataSourcebir veri kaynağına bağlayarak açılan listeyi dolduracağınız şekilde doldurabilirsinizComboBox. Daha fazla bilgi için bkz . ComboBox Denetimi.

özelliğini System.Windows.Forms.DataGridViewComboBoxColumnayarlayarak DataPropertyName gerçek hücre değerlerini denetim tarafından DataGridView kullanılan veri kaynağına bağlayabilirsiniz.

Birleşik giriş kutusu sütunları, bir DataGridView denetimin veri bağlaması sırasında otomatik olarak oluşturulmaz. Birleşik giriş kutusu sütunlarını kullanmak için bunları el ile oluşturmanız ve özelliği tarafından döndürülen koleksiyona Columns eklemeniz gerekir.

DataGridViewLinkColumn

DataGridViewLinkColumnile, köprü içeren bir hücre sütunu görüntüleyebilirsiniz. Bu, veri kaynağındaki URL değerleri için veya alt kayıtlarla bir pencere açma gibi özel davranışlar için düğme sütununa alternatif olarak kullanışlıdır.

Bir denetimin veri bağlaması DataGridView yapıldığında bağlantı sütunları otomatik olarak oluşturulmaz. Bağlantı sütunlarını kullanmak için bunları el ile oluşturmanız ve özelliği tarafından döndürülen koleksiyona Columns eklemeniz gerekir.

Olayı işleyerek CellContentClick bağlantılara kullanıcı tıklamalarını yanıtlayabilirsiniz. Bu olay, bir kullanıcı hücrenin CellClick herhangi bir yerine tıkladığında oluşan ve CellMouseClick olaylarından farklıdır.

DataGridViewLinkColumn sınıfı, bağlantıların tıklanmadan önce, sırasında ve tıklandıktan sonra görünümünü değiştirmek için çeşitli özellikler sağlar.

Ayrıca bkz.