Forum

Devexpress grid top...
 
Bildirimler
Hepsini Temizle

Devexpress grid toplam satırı

Mehmet Ertaş
(@mehmetertai)
Üye

Merhabalar,

Kullandığım Devexpress grid'in sonuna toplam aldırdım,

Toplam aldırdığım için bakiye kolonunun da toplamı geldiğinden yapamadım.

Borç ve ödeme kolonlarının toplamlarını birbirinden çıkarıp bakiye altına yazmak istiyordum.

Teşekkürler.

 

Bakiye

 

 

Alıntı
Konu başlatıcı Gönderildi : 21/06/2021 14:55

Serkan Ateş
(@SerkanAtes)
Üye

Borç kolonunuzda bulunan verileri -1 ile çarpın.

İyi çalışmalar.

CevapAlıntı
Gönderildi : 22/06/2021 08:08

Mehmet Ertaş
(@mehmetertai)
Üye

Sayın @SerkanAtes ,

söylediğiniz şekilde olursa borç kolonundaki tüm veriler başında eksi ile görünür.

Söylemek istediğim toplam satırında BAKIYE sütunu altına formül ile sum(ÖDEME)-sum(BORC) gibi birşey yapabilir miyim ?

Teşekkür ederim.

CevapAlıntı
Konu başlatıcı Gönderildi : 22/06/2021 09:55

Mehmet
(@mehmetikiz)
Üye

Merhaba;

Anladığım kadarıyla borç kolonunun toplamından ödenen kolonunun toplamını çıkartıp bakiye kolonunun altına yazmak istiyorsunuz. Öncelikle bakiye kolonunun altındaki sum olayını kaldırın. çünkü sizin istediğiniz bu değil. 

Önce;

private void gridView1_CustomDrawFooter eventına tıklıyoruz.(BÜTÜN KODLARI BURAYA YAZIYORUZ.)

sonra aşağıdaki işlemleri yapalım.

decimal BORC= Convert.ToDecimal(gridView1.Columns["BORCKOLONADI"].SummaryItem.SummaryValue);

decimal ODENEN = Convert.ToDecimal(gridView1.Columns["ODENENKOLONADI"].SummaryItem.SummaryValue);

decimal HESAPLANANBAKIYE=BORC-ODENEN;

Bakiye hesaplamasını yaptık. Bunu bir label a atayıp istediğimiz yere koyabiliriz. fakat formun boyutu değiştiğinde label da kayma oluyor veya form ribon form içindeyse ve ribon form görünümü değiştiğinde yine label da kayma oluyor. Bu sebeple bunu tavsiye etmem. Bunun çözümü şu şekilde;

hesaplamanın altına 

            StringFormat stringFormat = new StringFormat();

            stringFormat.Alignment = StringAlignment.Near;

            e.Appearance.ForeColor = Color.Teal; //YAZI RENGİ

            e.Appearance.FontSizeDelta = 2; //YAZI BOYUTU

            stringFormat.LineAlignment = StringAlignment.Center;

            e.DefaultDraw();

 

            e.Cache.DrawString("BAKİYE: " + HESAPLANANBAKIYE, e.Appearance.GetFont(), e.Appearance.GetForeBrush(e.Cache), e.Bounds.X + 128, e.Bounds.Y + 10, stringFormat); // BURADA X VE Y KONUMUNU DENEYEREK İSTEDİĞİN YERİ BULACAKSIN.

Artı bir bonus vereyim belki işinize yarar. Yine aynı mantıkla gridview üzerine istediğiniz yere ikonda ekleyebilirsiniz.

e.DefaultDraw();
Image img = imageCollection1.Images[1];
e.Cache.DrawImage(img, new Rectangle(e.Bounds.X + 110, e.Bounds.Y + 10, 16, 16));
e.Handled = true;

 

İnşallah sorunuzu doğru anlamışımdır ve yazdığım kodlar işinize yarar. İyi Çalışmalar...

CevapAlıntı
Gönderildi : 14/09/2021 19:12
Hakan Uzuner beğendi

Paylaş: