cxGrid Toplamlar - Çözüldü, kod eklendi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

cxGrid Toplamlar - Çözüldü, kod eklendi

Mesaj gönderen naile »

CxGrdide kulandığım bir sorgu sonucunu gruplayarak gösteriyorum. Grup sonralarında gösterdiğim satır toplamlarını da Summary -> Default for Groups kısmından göstertiyorum. Yalnız gridde gösterdiğim bir de % alanı var. Footerdaki bu % alanının altına diğer footer toplamlarına göre hesaplama yapıp yazdırmam gerekiyor. Bir türlü yapamadım.
Bir de örnekleyeyim:

Kod: Tümünü seç

  
GRUP ADI                      ADET     MALİYET      SATIŞ     FARK    %
  -BİLGİSAYARLAR            
        PC                     7            6000        6600       600      9.09
        NOTEBOOK               3            4200        4500       300      6,67
        SERVER                 1            1850        2100       250     11.90
   (TOPLAMLAR)                11          12,050     13,200      1,150       XX           
                                                                                      

Yukardaki TOPLAMLAR satır FOOTER satırı. XX e yazacağım değer de bu satırda yazan toplamlardan hespalamam lazım:
XX = (1,150 * 100) / 13,200

olacak yani. Ama bunu nerde hesaplayı nereye yazacağım birtürlü yapamadım.
En son naile tarafından 20 Eyl 2006 11:53 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
mero
Üye
Mesajlar: 109
Kayıt: 04 Mar 2005 04:54

Mesaj gönderen mero »

Kod: Tümünü seç

cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[4]:=(cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[3]*100)/cxGrid1DBTableView1.DataController.Summary.FooterSummaryValues[2]
Ben benzer kodu bir query'nin afterscroll olayından sonra kullanmıştım.
Siz after open dan sonra kullanırsanız muhtemelen çalışır.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

O şekilde gridin en altındaki toplam footerına yazıyor, benim yapmak istediğimse GroupFooter.
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Mesaj gönderen Hakan Can »

cxGrid1DBBandedTableView1.DataController.Summary.GroupSummaryValues... den deneyiniz.

İyi çalışmalar.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Ordan denedim zaten ama olmuyor, değer atamama izin vermiyor, ya da ilgili metodu ben bulamadım :(
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

@Hakan Can, dün öğleden sonra denemenin verdiği kafa yorgunluğundan olsa gerek söylediğin şekilde denemeye çalışmış ama yapamamıştım. Şimdi tekrar deneyeyim diyince oldu :oops:

Teşekkürler..


Kullandığım kod:
(Default for Groups da kullanılan itemindexler: Maliyet:1, Satış:2, Fark:3, %:4 için )

Kod: Tümünü seç

var
  i : integer;
begin
         for i := 0 to TvSatisUrunGrup.DataController.Groups.ChildCount[-1] -1 do
TvSatisUrunGrup.DataController.Summary.GroupSummaryValues[i,4] :=                             
   (TvSatisUrunGrup.DataController.Summary.GroupSummaryValues[i,3]*100) / TvSatisUrunGrup.DataController.Summary.GroupSummaryValues[i,2];  
end;
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

naile bu kodu nereye yazıyorsun

Birde şimdi default grup ne demek ?
Siz hayal edin...Biz yapalım TuannaSoft...
Cevapla