Forum

Devexpress grid top...
 
Bildirimler
Hepsini Temizle

Devexpress grid toplam satırı

4 Yazılar
3 Üyeler
2 Likes
737 Görüntüleme
Mehmet Ertaş
(@mehmetertai)
Gönderiler: 19
Eminent Member
Konu başlatıcı
 

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

 

 

 
Gönderildi : 21/06/2021 14:55

(@serkanates)
Gönderiler: 1278
Üye
 

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

İyi çalışmalar.

 
Gönderildi : 22/06/2021 08:08

Mehmet Ertaş
(@mehmetertai)
Gönderiler: 19
Eminent Member
Konu başlatıcı
 

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.

 
Gönderildi : 22/06/2021 09:55

Mehmet
(@mehmetikiz)
Gönderiler: 442
Prominent Member
 

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...

 
Gönderildi : 14/09/2021 19:12

Paylaş: