Devexpress bileşenleri kullanıyorsanız eninde sonunda yolunuz Grid Control bileşenine işiniz düşecektir. Basit işlerde standart DataGridView bileşenini kullanırken daha ayrıntılı işlerde ister istemez Grid Control kullanıyorum. GridControl bileşeni üzerinde tıklanan bir satırdaki hücrenin değerini almak için ne yapmamız gerektiğini anlatacağız.
Grid Control bildiğiniz gibi listeleri kullanıcılara göstermek için ideal bir bileşen. Listedeki bir kaydın detaylarını görüntülemek, düzenlemek ya da silmek için istediğimiz satıra tıklarız. Bu satırda da o kayıda ait Primary Key (Birincil Anahtar) bulunur mutlaka. Biz bu Primary Key hangi sütunda ise o değeri elde edip veritabanından sorgularken kriter olarak kullanırız. Standart DataGridView aksine Grid Control'den bu bilgiyi RowClick olayı ile alamıyoruz. Şimdi neler yapmamız gerektiğine bakalım:
Önce GridControlümüzün sağ alt tarafındaki Run Designer yazan butona tıklayarak tüm ayarlara görsel bir arayüzden ulaşmamızı sağlayan pencereyi açalım.
Açılan pencerede sağ bölmede yer alan alanın üst tarafındaki alana Table yazalım. Arama sonuçlarında OptionsBehavior altındaki Editable özelliğini False olarak değiştirelim.
Bu pencereyi kapattıktan sonra bu defa Grid Control bileşeninin sağ altındaki penceremizden bu defa GridView adına tıklayalım. Benim projemde ben varsayılan ismi değiştirip grViewPersonel yapmıştım. Bu yazıya tıkladıktan sonra Properties penceresinde Events butonuna tıklayarak RowClick Event satırını buluyoruz.
Burada çift tıklayarak kod penceresine otomatik geçiş yapıyoruz. Kod alanında yazacağımız kod ise oldukça basit:
grViewPersonel.GetFocusedRowCellValue( "Id" ).ToString()
Burada Id yazan yer Primary Key yani Birincil Anahtar değerinin olduğu sütunun adı. GridView'da sütuna ne isim verdiyseniz onu yazmanız yeterli olacaktır. Tabi benim senaryomda Id alan lazım olduğu için onu yazdım ancak siz hangi sütundaki değeri istiyorsanız o sütunun adını yazmalısınız.
Devexpress ile grid control ya da grid view tıklanan bir satırda bir hücredeki değeri bu şekilde alabilirsiniz.