Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Cxgridtableview iki kolonu çarpma işlemi
#11
(22-06-2017, Saat: 14:41)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: İ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.

Teşekkür ederim tam istediğim gibi oldu.
"…De ki: "Hiç bilenlerle bilmeyenler bir olur mu? Şüphesiz, temiz akıl sahipleri öğüt alıp-düşünürler" (Zümer Suresi, 9)
Cevapla
#12
(30-06-2017, Saat: 12:04)uparlayan Adlı Kullanıcıdan Alıntı: ( Geçmiş Kadir Geceniz mübarek olsun, yeni gördüm )

Şöyle bir yöntem iş görecektir ;

unit senin_helper_unitin;

interface

uses  cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridCustomView, cxGrid; // burada fazlalıklar var, kullanılmayanları ayıklarsınız...

type
 { Helper Tipler }
 TcxGridDBTableViewHelper = class helper for TcxGridDBTableView
   published
     function SutunCarp(aKolon1, aKolon2: TcxGridDBColumn; aSatirNo: Integer): Double;
 end;

implementation

uses
 System.Variants;

function TcxGridDBTableViewHelper.SutunCarp(aKolon1, aKolon2: TcxGridDBColumn; aSatirNo: Integer): Double;
var
 A, B: Variant;
begin
 A := 0;
 B := 0;
 with  ViewData do begin
       if (Rows[aSatirNo].IsData = TRUE) then begin
           if (VarIsNull(Rows[aSatirNo].Values[ aKolon1.Index ]) = FALSE) then A := Rows[aSatirNo].Values[ aKolon1.Index ];
           if (VarIsNull(Rows[aSatirNo].Values[ aKolon2.Index ]) = FALSE) then B := Rows[aSatirNo].Values[ aKolon2.Index ];
       end;
 end;
 Result := A * B;
end;

end.

Kullanımı da şu şekilde olur;

...
implementation

uses
   senin_helper_unitin   // Yazdığımız helper için
 , System.SysUtils       // Format fonksiyonu için gerekli...
 ;
...
// cxGridDBTableView'in sonuç gösterilecek sütununun OnGetDataText olayına aşağıdaki kod yazılır;

procedure TSeninFormun.SeninSutunun_GetDataText(Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
begin
 AText := Format('%2.2n', [ Grid.SutunCarp(GridinBirimFiyatKolonu, GridinBirimTutarKolonu, ARecordIndex) ]);
end;

...

 Öncelikle, bu linkteki cevabıma neden negatif puan verdiğinizi anlayamadım. Aydınlatırsanız ve hatalı olan kısmı gösterebilirseniz sevinirim.
Grid üzerinden verdiğiniz yanıt, hedefe ulaşmak için değişik kullanımların varlığına bir örnek teşkil etmiş.

Lâkin;
  • Neden bir helper class ? Helper class'ların hangi amaçla kullanıldığını biliyor musunuz ?
  • İlgili metod (SutunCarp) neden published bölümünde ? Published bölümünün ne işe yaradığını biliyor musunuz ?
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#13
(30-06-2017, Saat: 16:07)uparlayan Adlı Kullanıcıdan Alıntı: 0) Eğer burası birilerinin babasının çiftliği değilse, Herhangi birinize karşı herhangi birimiz açıklama yapmak zorunda değiliz, kimse de kimseye hakaret etmedikçe hesap soramaz. Önce benim, daha sonra da Hiç Kimsenin haddine değil...

Tuğrul;

1) Söz konusu linkteki cevabınızın daha kaliteli olmasını beklerdim, çöplük gibi kargaşık burgaşık yazılmış bir kod ile cevap yazmanız sizin "klasınıza" yakışmadı... Dolayısıyla o linkteki cevabızı "beğenmedim" ve beğenmek zorunda da değilim. Siz de buna istinaden zaten yönetime beni şikayet etmişsiniz, tebrikler, ama bu kadar... Allah kibrimizide boğmasın bizi...
2) Soru "Grid" ile ilgili "idi" ben de "grid" ile ilgili cevap verdim. Herkes bir yöntem öne sürdü ben de gayet güzel bir tane yöntem önerdim ve işe yarıyor...
3) Helper class'ı "ben" istediğim "amaçla", "istediğim" yede, "istediğim" zaman "istediğim" gibi kullanırım. Sen de aynısını yap, işe yarıyor. Sen, bir halat kesmek için illa makas mı kullanırsın? Ya elinde sadece balta varsa...
4) Pardon da, ister public, ister published bölümüne eklerim Sana ne oluyor? Sen "Programlama Ekipler Amiri" misin arkadaşım?!

Tuğrul, titre ve kendine gel...

Öncelikle iki önemli hususu anlamanızı istiyorum:
1. Gerekçesiz Negatif puanları yönetim olarak kabul etmiyoruz.
2. "şikayet etmişsiniz" diyorsunuz. Tuğrul HELVACI, sizi şikayet etmedi. Siz hem gerekçesiz Negatif puan veriyorsunuz, hem de Rapor ediyorsunuz.

(30-06-2017, Saat: 16:07)uparlayan Adlı Kullanıcıdan Alıntı: ... kimse de kimseye hakaret etmedikçe hesap soramaz.

demişsiniz, fakat bu yorumunuzda "çöplük gibi kargaşık burgaşık yazılmış bir kod" (geçmiş tecrübelere bir hakarettir), "Allah kibrimizide boğmasın bizi" (açıkça kibirli olduğunu söylüyorsunuz), ""Programlama Ekipler Amiri" misin arkadaşım?!" (Üslubunuz yanlış) ve son cümleniz "
Tuğrul, titre ve kendine gel..." olmak üzere sizin bir çok hakaretiniz olduğunu gördük.

Kendisini tamamen yazılım sektörüne adamış, bu uğurda bilgilerini esirgemeyen ve sürekli öğretme amaçlı davranışlarda bulunan ender şahsiyetlerden bir üyemize yapmış olduğunuz bu yakıştırmalardan dolayı sizi kınıyoruz.
Nihayetinde bir yazılı uyarı almış bulunuyorsunuz.
Devam etmeniz durumunda daha ağır yaptırımlar alırsınız.
Amacı bilgi ve tecrübelerin paylaşılması olan böyle bir platformda polemik yapmadan, ilgi göstermenizi tavsiye ediyoruz.
Delphi Can'dır!
WWW
Cevapla
#14
Alıntı:Tuğrul, titre ve kendine gel...

Askerlik arkadaşınız da bizim mi haberimiz yok ?
WWW
Cevapla
#15
(30-06-2017, Saat: 16:07)uparlayan Adlı Kullanıcıdan Alıntı:
(30-06-2017, Saat: 14:57)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı:  Öncelikle, bu linkteki cevabıma neden negatif puan verdiğinizi anlayamadım. Aydınlatırsanız ve hatalı olan kısmı gösterebilirseniz sevinirim.
Grid üzerinden verdiğiniz yanıt, hedefe ulaşmak için değişik kullanımların varlığına bir örnek teşkil etmiş.

Lâkin;
  • Neden bir helper class ? Helper class'ların hangi amaçla kullanıldığını biliyor musunuz ?
  • İlgili metod (SutunCarp) neden published bölümünde ? Published bölümünün ne işe yaradığını biliyor musunuz ?

0) Eğer burası birilerinin babasının çiftliği değilse, Herhangi birinize karşı herhangi birimiz açıklama yapmak zorunda değiliz, kimse de kimseye hakaret etmedikçe hesap soramaz. Önce benim, daha sonra da Hiç Kimsenin haddine değil...

Tuğrul;

1) Söz konusu linkteki cevabınızın daha kaliteli olmasını beklerdim, çöplük gibi kargaşık burgaşık yazılmış bir kod ile cevap yazmanız sizin "klasınıza" yakışmadı... Dolayısıyla o linkteki cevabızı "beğenmedim" ve beğenmek zorunda da değilim. Siz de buna istinaden zaten yönetime beni şikayet etmişsiniz, tebrikler, ama bu kadar... Allah kibrimizide boğmasın bizi...
2) Soru "Grid" ile ilgili "idi" ben de "grid" ile ilgili cevap verdim. Herkes bir yöntem öne sürdü ben de gayet güzel bir tane yöntem önerdim ve işe yarıyor...
3) Helper class'ı "ben" istediğim "amaçla", "istediğim" yede, "istediğim" zaman "istediğim" gibi kullanırım. Sen de aynısını yap, işe yarıyor. Sen, bir halat kesmek için illa makas mı kullanırsın? Ya elinde sadece balta varsa...
4) Pardon da, ister public, ister published bölümüne eklerim Sana ne oluyor? Sen "Programlama Ekipler Amiri" misin arkadaşım?!

Tuğrul, titre ve kendine gel...

Pek çok şeye tahammülüm vardır ama terbiyesizliğe maalesef yok. Terbiyesiz yanıtınıza yine terbiye sınırları içinde bir yanıt vermeye çalışacağım.

  1. Bahsettiğim linki dahi okumayı beceremiyorsunuz sanırım. Size; "ne gibi bir hata yapmışız, aydınlatırmısınız" demişiz. Hatamızı belirtememişsiniz. Çünkü bir hata yok. Aklın yolu birdir ve bu tarz işlerin en hızlı ve temiz yolu Calculated field kullanmaktır. Okuyamadığınız mesajda kargacık/burgacık/çöplük gibi dediğiniz kod bana ait değil, bir alıntı. Bunu bile farkedemeyecek seviyede birisinin programlama yapması da enteresan.
  2. Yazdığım mesajımda kimseye bir hesap sormadım ama, hatalı olmayan bir cevaptan ötürü negatif bir yorumlama yaptı iseniz bu davranışınız, sizin cevaba değil kişiye puan verdiğiniz anlamını taşır. Belki başka bir platformda yaptığımız paylaşımlar nedeni ile tepkilisiniz, bilemiyorum. Ayrıca, puanlamayı benim cevabıma verdiğiniz için ve haksızlık yaptığınız için bunu sormak da benim haddimedir. Çünkü haksız bir itham söz konusu.
  3. Sizi hiç bir yere şikayet etmedim. Etmeme de gerek yok. Ben zaten burada Yönetim kademesinde bulunuyorum. Yukarıda yazdığım mesajı Raporlayan, şikayet eden sizsiniz. Yalanın da bu kadarı olur. Bunun aksini söyleyebilecek kimse olamaz. Sizi şikayet etmeme gerek yok, ben Süper Moderatör vazifesindeyim ve istediğim an mesajınızı silebilir, sizi bloklayabilirdim. Ama bunların hiç birisini yapmadım. Kibir görmek istiyorsanız, aynaya bakabilirsiniz. Allah yardımcınız olsun.
  4. Sorunun Grid ile ilgili olduğunu söylüyorsunuz ama bizim önerdiğimiz yöntem soruyu soran arkadaş tarafından beğenilmiş ve kabul görmüş. Bu tarz işlemlerin grid üzerinden yapılmayacağını anlayamamış olmanız benim sorunum değil maalesef.
  5. Helper class'lar mevcut bir sınıfı genişletmek amacı ile kodlanır. Dolayısı ile ilgili sınıfa özgün generic bir kodlama yapmak icap eder. Sizin yazdığınız helper class'ın genericlik ile hiç bir alakası yok. Bu nedenle Helper class'ların kullanımını bilip bilmediğinizi öğrenmek istedim. Bilmemek ayıp değildir. Ama insanda kibir olunca, cevap sizin verdiğiniz gibi oluyor.
  6. Published'ın kullanım amacını da bilmediğinizi tahmin ettiğim için o yönde bir soru sorma gereği hissetmiştim. Maksadınızın öğrenmek olmadığı gayet net şekilde anlaşılıyor. Kibriniz maalesef buna müsaade etmiyor.
  7. Elhamdülillah, kendimdeyim. Umarım siz de kendinize gelebilirsiniz.

Konuyu kilitleyen arkadaşımızın anlayışına sığınarak konunun kilidini kaldırıyorum. uparlayan arkadaşımız cevap hakkını kullanamadığını iddia ettiği için.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#16
Merhaba,
Konu içeriği, amacı dışına çıktığını için tarafımdan kapatılmıştı.
Cevapla
#17
banada eksi puan verilmiş ama en azından - puan verilirken yorum kısmına şunu diyebilirdiniz "alakası yok" bla bla ama açıklama yapmaya gerek yok kimse kimseye hesap vermek zorunda değil demişsiniz o zaman eksiğimizi yanlışımızı nasıl öğreneceğiz?

“Do. Or do not. There is no try.”
Cevapla
#18
(30-06-2017, Saat: 18:35)masteryoda Adlı Kullanıcıdan Alıntı: banada eksi puan verilmiş ama en azından - puan verilirken yorum kısmına şunu diyebilirdiniz "alakası yok" bla bla  ama açıklama yapmaya gerek yok kimse kimseye hesap vermek zorunda değil demişsiniz o zaman eksiğimizi yanlışımızı nasıl öğreneceğiz?

Masteryoda kardeşim.. Arkadaş kendini "MasterCoder" zanneden gillerden.. Bana da basmış -2 yi Big Grin  Güler misin? Ağlar mısın? 
Bir şekilde kod yazmayı öğrenmiş ama çözüme tek yoldan gidilmediğini öğrenememiş ve "Ben doğruyum siz hepiniz kakasınız" der gibi basmış eksiyi Big Grin
Çok merak ediyorum. -2 yi neden basmış Big Grin
Amatör Küme Bilgisayar Programcısı
WWW
Cevapla
#19
(02-07-2017, Saat: 00:53)barutali Adlı Kullanıcıdan Alıntı:
(30-06-2017, Saat: 18:35)masteryoda Adlı Kullanıcıdan Alıntı: banada eksi puan verilmiş ama en azından - puan verilirken yorum kısmına şunu diyebilirdiniz "alakası yok" bla bla  ama açıklama yapmaya gerek yok kimse kimseye hesap vermek zorunda değil demişsiniz o zaman eksiğimizi yanlışımızı nasıl öğreneceğiz?

Masteryoda kardeşim.. Arkadaş kendini "MasterCoder" zanneden gillerden.. Bana da basmış -2 yi Big Grin  Güler misin? Ağlar mısın? 
Bir şekilde kod yazmayı öğrenmiş ama çözüme tek yoldan gidilmediğini öğrenememiş ve "Ben doğruyum siz hepiniz kakasınız" der gibi basmış eksiyi Big Grin
Çok merak ediyorum. -2 yi neden basmış Big Grin

Merhaba,
5 kişiye Negatif puan vererek, art niyetli olduğu tespit edildiğinden, her üyemizin Negatif puanları iptal edilmiştir.
Bu tutumuna devam etmesi durumunda daha ağır bir yaptırım alacaktır.
Delphi Can'dır!
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  store procedure ile toplama islemi sadikacar60 5 381 22-04-2024, Saat: 12:50
Son Yorum: bydelphi
Smile TrayIcon ile BringToFront işlemi mcuyan 0 191 30-11-2023, Saat: 21:27
Son Yorum: mcuyan
  Delphi 7 Veri Tabanı İşlemi Hakkında mahone 6 1.136 28-02-2023, Saat: 15:36
Son Yorum: mahone
  Rest Debugger ile POST işlemi 41linea41 0 478 18-10-2022, Saat: 20:25
Son Yorum: 41linea41
  Json Parse İşlemi bünyamin68 10 3.244 24-07-2022, Saat: 09:49
Son Yorum: arsl01



Konuyu Okuyanlar: 1 Ziyaretçi