CxGrid ie toplama yaparken ilginç hata.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Bilgitech
Üye
Mesajlar: 2
Kayıt: 24 Kas 2013 12:55

CxGrid ie toplama yaparken ilginç hata.

Mesaj gönderen Bilgitech »

Herkese merhaba, soruyu daha önce açmıştım ama silindi mi ne oldu anlamadım. Ufak bir proje ile uğraşıyorum ama şöyle bir problemim var. Vt firebird ibdataset kullanıyorum ve cxgrid ile de verileri gösteriyorum. Cxgrid in özelliği olan alan toplama yaptım summary ancak tablo boş olunca hata veriyor bunun önüne nasıl geçebilirim? yada ben hatayı ondan dolayı verdiğini düşünüyorum.

kodum bu:
cxcurrencyedit1.Value:=cxgrid1dbtableview1.DataController.Summary.FooterSummaryValues[0];
cxcurrencyedit2.Value:=cxgrid1dbtableview1.DataController.Summary.FooterSummaryValues[1];
cxcurrencyedit3.Value:=cxcurrencyedit1.Value-cxcurrencyedit2.Value;

hata ise bu:
Could not convert variant of type (Null) into type (Double)

şimdiden teşekkürler.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: CxGrid ie toplama yaparken ilginç hata.

Mesaj gönderen mussimsek »

cxGrid bu değerleri variant olarak tutar, boş olup olmamasını kontrol etmen lazım. VarIsNull ile kontrol edebilirsin.

if not VarIsNull(cxcurrencyedit1.Value) and...

Kolay gelsin.
Bilgitech
Üye
Mesajlar: 2
Kayıt: 24 Kas 2013 12:55

Re: CxGrid ie toplama yaparken ilginç hata.

Mesaj gönderen Bilgitech »

Teşekkür ederim hocam sonradan sorununun oradan kaynaklandığını anladım, aşağıdaki kodu yazarak sorunu çözdüm ama sanırım sıkıntı olmaz?

Kod: Tümünü seç

if iBdataset1.IsEmpty then begin
abort
end else begin
cxcurrencyedit1.Value:=cxgrid1dbtableview1.DataController.Summary.FooterSummaryValues[0];
cxcurrencyedit2.Value:=cxgrid1dbtableview1.DataController.Summary.FooterSummaryValues[1];
cxcurrencyedit3.Value:=cxcurrencyedit1.Value-cxcurrencyedit2.Value;
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2381
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: CxGrid ie toplama yaparken ilginç hata.

Mesaj gönderen freeman35 »

iki öneri:
1-) "if not iBdataset1.IsEmpty then begin" kod kalabalığına gerek kalmasın.
2-)Daha önceki yazılarımda belirtmiştim, özellikle rakkam field lara db tarafında default 0.0 değerleri verin, sum alamakta performans sağladığı gibi delphi tarafında bu tip kotrollerede gerek kalmaz
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla