Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Cxgridtableview iki kolonu çarpma işlemi
#1
Photo 
İyi günler,

Kadir gecemiz mübarek olsun.
resimdeki gibi CxGridTableView var burada Adet, Birim fiyat, Tutar sutunları Float olarak ayarlı ve Adet, Birim fiyat sutunlarının edit özelliği true
 cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,6] :=
strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,3]) *
strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,5]);

koduyla olarak ilk ekleme anında tutar alanına sonuç yazdırabiliyorum. İhtiyacım olan 
adet veya birim fiyat sutunlarından biri değiştiğinde tutar alanını yukarıdaki kodla güncellemek.

sutunun Ondrawcustomcell   olayını denedim olmadı

sutunun Onchange gibi bir olayı yok mu veya yerine kullanabileceğim bir olay.

mümkünse resimde göründüğü gibi başlık bölümündeki çizgileri daha net nasıl ayarlanabilir.


Ek Dosyalar Resimler
   
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#2
(21-06-2017, Saat: 12:44)cinarbil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Olİyi günler,

Kadir gecemiz mübarek olsun.
resimdeki gibi CxGridTableView var burada Adet, Birim fiyat, Tutar sutunları Float olarak ayarlı ve Adet, Birim fiyat sutunlarının edit özelliği true
 cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,6] :=
strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,3]) *
strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[eklesatir,5]);

koduyla olarak ilk ekleme anında tutar alanına sonuç yazdırabiliyorum. İhtiyacım olan 
adet veya birim fiyat sutunlarından biri değiştiğinde tutar alanını yukarıdaki kodla güncellemek.

sutunun Ondrawcustomcell   olayını denedim olmadı

sutunun Onchange gibi bir olayı yok mu veya yerine kullanabileceğim bir olay.

mümkünse resimde göründüğü gibi başlık bölümündeki çizgileri daha net nasıl ayarlanabilir.

Amin, cümlemizin Kadir gecesi mübarek olsun inşallah.

Neden Calculated bir field kullanmıyorsunuz ?
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
TcxGridDBTableView.DataController.Options taki dcoImmediatePost değerini true yapıp deneyebilirmisiniz?

“Do. Or do not. There is no try.”
Cevapla
#4
(21-06-2017, Saat: 12:46)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAmin, cümlemizin Kadir gecesi mübarek olsun inşallah.

Neden Calculated bir field kullanmıyorsunuz ?

Cevabınız için teşekkür ederim.
Cxgrid yeni kullanmaya başladım ve Calculated  özelliği olduğunu bilmiyordum.
Hemen araştırmaya başlayacağım.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#5
(21-06-2017, Saat: 12:54)cinarbil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(21-06-2017, Saat: 12:46)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlAmin, cümlemizin Kadir gecesi mübarek olsun inşallah.

Neden Calculated bir field kullanmıyorsunuz ?

Cevabınız için teşekkür ederim.
Cxgrid yeni kullanmaya başladım ve Calculated  özelliği olduğunu bilmiyordum.
Hemen araştırmaya başlayacağım.


Otomatik hesaplama (Calculated), DataSet temel nesnesine ait bir özelliktir. TDataSet'ten türeyen her nesnede kullanabilirsiniz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Merhaba, 

Ben olsam ilk tercihim view içerisinde bu işlemi gerçekleştirmek olurdu. 
Select Adet, BirimFiyat, (Adet * BirimFiyat) as Tutar From TabloAdi

"Adet" ve/veya "BirimFiyat" alanları güncellendiği zaman "Tutar" alanı da otomatik olarak güncellenmiş olurdu. 

İlla ki ben grid üzerinde bu işlemi yapmak istiyorum diyorsanız..

"Tutar" kolonunun "onGetDataText" olayında çarpım işleminizi yaptırabilirsiniz.
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#7
(21-06-2017, Saat: 13:38)barutali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba, 

Ben olsam ilk tercihim view içerisinde bu işlemi gerçekleştirmek olurdu. 
Select Adet, BirimFiyat, (Adet * BirimFiyat) as Tutar From TabloAdi

"Adet" ve/veya "BirimFiyat" alanları güncellendiği zaman "Tutar" alanı da otomatik olarak güncellenmiş olurdu. 

İlla ki ben grid üzerinde bu işlemi yapmak istiyorum diyorsanız..

"Tutar" kolonunun "onGetDataText" olayında çarpım işleminizi yaptırabilirsiniz.

Cevaplarınız için teşekkür ederim hepinizden Allah razı olsun
Tüm cevapları deneyeceğim 
Barut ali bey OngetDataText olayına yazdım 
procedure Tparametrefrm.view_tutarGetDataText(Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
begin
 if (cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,3] <> null) and
    (cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,5] <> null) then
     cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,6] :=
     strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,3]) *
     strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,5]);
cxgridde herhangi bir yere tıkladığında Acces Violation hata veriyor.
Tablodan yapamıyorum cxgridde ihtiyaç duyulan malzemeler ekleniyor. 
fiyat ve adet bilgilerinde değişiklik varsa yapılıyor sonra tablo ya kaydediliyor.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#8
(21-06-2017, Saat: 14:16)cinarbil Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(21-06-2017, Saat: 13:38)barutali Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlMerhaba, 

Ben olsam ilk tercihim view içerisinde bu işlemi gerçekleştirmek olurdu. 
Select Adet, BirimFiyat, (Adet * BirimFiyat) as Tutar From TabloAdi

"Adet" ve/veya "BirimFiyat" alanları güncellendiği zaman "Tutar" alanı da otomatik olarak güncellenmiş olurdu. 

İlla ki ben grid üzerinde bu işlemi yapmak istiyorum diyorsanız..

"Tutar" kolonunun "onGetDataText" olayında çarpım işleminizi yaptırabilirsiniz.

Cevaplarınız için teşekkür ederim hepinizden Allah razı olsun
Tüm cevapları deneyeceğim 
Barut ali bey OngetDataText olayına yazdım 
procedure Tparametrefrm.view_tutarGetDataText(Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
begin
 if (cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,3] <> null) and
    (cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,5] <> null) then
     cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,6] :=
     strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,3]) *
     strtofloat(cxgrid_uretimrecetesi_view.datacontroller.values[ARecordIndex,5]);
cxgridde herhangi bir yere tıkladığında Acces Violation hata veriyor.
Tablodan yapamıyorum cxgridde ihtiyaç duyulan malzemeler ekleniyor. 
fiyat ve adet bilgilerinde değişiklik varsa yapılıyor sonra tablo ya kaydediliyor.

Hatanın sebebi, OngetDataText olayı gerçekleştiği anda, ARecordIndex sütunundaki 3, 5 ve 6 nolu satırlar henüz oluşmamıştır.
Yani Grid satırları oluşturulurken, daha ilk kaydın, birinci sütun birinci satırında (ilk hücresinde), ARecordIndex'in 3, 5 ve 6. hücre değerlerini çağırıyorsunuz.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#9
İlgili dataset'iniz içine bir tane Calculated field oluşturun ve OnCalcFields'da ilgili hesaplama işlemini yapın, rahatınıza bakın. Grid ile uğraşmanıza da gerek kalmaz böylelikle.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#10
Matematiksel işlemler için Calculated field oluşturun, daha sonra OnCalcFields olayında işlemi yapabilirsiniz daha kolay ve rahat olur sizin için
Don't fear the try!
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Json Parse İşlemi yhackup 12 1.034 21-02-2018, Saat: 07:59
Son Yorum: 10.Köy
  XML Parse İşlemi (CDATA) yhackup 2 171 22-01-2018, Saat: 19:52
Son Yorum: adelphiforumz
  Uzun süren işlemi hızlandırma serhat 6 302 16-01-2018, Saat: 17:09
Son Yorum: serhat
  Delphi ve PHP arasında Encrypt/Decrypt İşlemi - Yardım mad85 13 580 24-11-2017, Saat: 20:48
Son Yorum: narkotik
  Parayı çarpma ve toplama işlemi serhat 15 1.110 17-06-2017, Saat: 22:35
Son Yorum: meko



Konuyu Okuyanlar: 1 Ziyaretçi