Merhabalar, C# DevExpress GridView Satır Numarası Ekleme yazım ile C# eğitim setime devam ediyorum. Bu dersimizde bir DevExpress nesnesi olan Gridview’ e satır numarası ekleme işlemini göreceğiz. Sıra numarasını Gridview nesnesinin en sol kısmında olan küçük alana (Indicator = Gösterge) ekleyeceğiz. Dersin geri kalanında ekran görüntüleri üzerinden net şekilde görebileceksiniz.
C# DevExpress GridView Satır Numarası Ekleme
Bazen DevExpress kullandığınız projelerinizde gridview’lerde satırlara sıra numarası eklemek isteyebilirsiniz. Ya da size bu şekilde bir talep gelebilir. SQL tarafında ROW_NUMBER kullanmayı düşünebilirsiniz ama bu satır numarası sabit kalıyor. Yani girdview üzerinde bir filtre yada farklı kolonlara göre sıralama verdiğinizde sql tarafından gelen row number değişmeyeceğinden sıralı olmayacaktır. Burada yapacağımız şey gridview nesnesine küçük bir müdahele olduğundan istediğiniz şekilde filtre yada sıralama verseniz bile bu satır numaraları sabit kalacaktır. Yani 1 .satırda her zaman 1 yazacaktır.
Ayrıca bu işlemi sadece kod ile yapacağız. Yani Designer tarafında bir değişiklik yapmayacağız.
Hatırlarsanız daha önce Gridview kod ile özelleştirme başlığı ile bir ders paylaşmıştım. Bu derse devam etmeden önce yandaki derse gidip bir bakın derim. O dersteki kodları da GridView_Update() adında bir metoda alalım. Yani ben bu şekilde kullanıyorum. Birazdan sizlere vereceğim kodları da GridView_Update() metodunun en altına koyacağız. Bu şekilde metodumuzu her kullandığımızda satır numarasını otomatik eklemiş olacağız.
Öncelikle Indicator (Gösterge) alanını biraz genişletmemiz lazım. Aşağıdaki görselde kırmızı işaretli alan Indicator alanıdır.
gridView1.IndicatorWidth = 40;NOT: Satıra odaklandığınızda yani tıkladığınızda bu alanda küçük bir sağ tarafı gösteren ok belirliyor. Bu ok belirdiğinde sayıların sığmama gibi bir durumu oluyor. Siz dilediğiniz gibi bu alanı genişletebilirsiniz.
Şimdi Indicator alanında satır numaralarını göstermeye gelelim. Bunun için bir event kullanmamız gerekiyor. Ancak her seferinde bu eventi tanımlamak bir zahmet. Bu yüzden bu atamayı kod ile yapacağız.
gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator;
Event atamasını yaptık. Şimdi Eventi oluşturalım ve kodlarımızı yazalım.
private void GridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) {// satır numarası if (e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); }
Bu şekilde Indicator alanında satır numaralarını gösterebiliyoruz. Eğer gridview’de bir satır var ise, Indıcator’un info alanında görünen metin olarak satır numarasını yazmasını istemiş olduk.
Şimdi yukarıda bahsettiğim olaya gelelim.
Ben Gridview kod ile özelleştirme buradaki tüm kodları GridView_Update() adında bir metot ile kullanıyorum. Bu metodu her grid kullandığım yerde kullanıyorum. Şimdi yukarıda verdiğim kodları da metoduma ekliyorum
private void GridView_Update() { // diğer kodlar //... //... //... //... // diğer kodlar // satır numarası gridView1.IndicatorWidth = 40; gridView1.CustomDrawRowIndicator += GridView1_CustomDrawRowIndicator; } private void GridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) {// satır numarası if (e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); }
Gördüğünüz gibi artık bu metodu kullandığım her formdaki tüm gridview’lerime otomatik olarak satır numarası eklemiş oluyorum. Sizde bu kodları benim gibi kullanıyorsanız fikir vermek açısından bu noktadan da bahsetmek istedim.
C# DevExpress GridView Satır Numarası Ekleme yazımda bu kadardı arkadaşlar. Diğer yazılarımızda görüşmek üzere….
C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız. Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…
476. Yazı bitti.