Listview'de Grouplama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Listview'de Grouplama

Mesaj gönderen neu84 »

Selamlar,
arkadaşlar listviewde grouplama yapmaya çalışıyorum ancak gruplamıyor sanki. istedigim görüntüyü elde edemiyorum bi türlü.

mesela personellerim var onların günlük satışlarını görmek istiyorum.

ilk personelime NAMIK KEMAL verdim diyelim,

---Satıcı Rumuzu------Satıcı Adı-----------Ürün----------Satış Fiyatı
------010--------------NAMIK KEMAL-------Çorap------------2.00----
-------------------------------------------------Lif--------------1.00---
------------------------------------------------Boncuk----------2.00---
------------------------------------------------Bere-------------3.00---
--------------------------Toplam---------------------------------8.00
------011--------------AYTEN KINAR--------Saat--------------10.00-
------------------------------------------------Krem------------3.00---
------------------------------------------------Şampuan--------5.00--
--------------------------Toplam---------------------------------18.00
Gibi.. - olan yerlerin hepsini boşluk olarak düşünürseniz sevinirim. bu şekilde göstermek zorunda kaldım aksi takdirde yazılar kayıyordu. Listview de Bu gösterdimi yapmamın bi yolu varmıdır? Verileri veritabanından çekiyorum.. Her personelin satış bilgisinin bitiminde de toplam diye bi bi satırım olacak ve satış fiyatının toplamını, kdvnin toplamını, matrahı falan gösterecek. Deniyorum ancak bu şekilde çıkaramadım bi türlü.. Başka türlü de işimi görmüycek..
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Listview'de Grouplama

Mesaj gönderen neu84 »

Lütfen bi fikir bi öneri :)
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: Listview'de Grouplama

Mesaj gönderen adnansirca »

Grup : Personel Adı
Column : Rümuz, Adeı, Ürün, Fiyat
Items := Rümuz değeri ya da boş geçin
Subitems := ürün adı, fiyatı vs...

Örnek proje aşağıdadır.
http://hotfile.com/dl/123909061/89665fc ... w.rar.html
Master-Detail bir yapınız var sanırım.
Listview ile uğraşmak yerine daha pratik olan DevExpress cxGrid i kullanmanızı tavsiye ederim.(Ücretlidir)
neu84
Üye
Mesajlar: 307
Kayıt: 06 Oca 2011 11:27

Re: Listview'de Grouplama

Mesaj gönderen neu84 »

adnansirca yazdı:Grup : Personel Adı
Column : Rümuz, Adeı, Ürün, Fiyat
Items := Rümuz değeri ya da boş geçin
Subitems := ürün adı, fiyatı vs...

Örnek proje aşağıdadır.
http://hotfile.com/dl/123909061/89665fc ... w.rar.html
Master-Detail bir yapınız var sanırım.
Listview ile uğraşmak yerine daha pratik olan DevExpress cxGrid i kullanmanızı tavsiye ederim.(Ücretlidir)
Tşk ederim, verdiginiz projeyi çalıştırdıgımda sürekli cursor dönüp duruyo, yaptıgınız gibi bişey yapmıştım bende ancak 010 satıcı rumuzunun sadece bi kere ilk satırda verilmesini istiyorum, sonraki satırlar o satıcıya aitse gösterilmeyecek, ve sonraki satıcıya geçecek. birde sorgu sonucu gelen verilerde diyelim ki 3 tane satıcının satışları var,

010
010
010
010
011
011
012
012
012
Gibi, bunların tabi yanlarında degerler var. işte gelen sonuçlarda 010 satıcının nerede bitti diger satıcının nerede başladıgını bulamıyorum, bu nedenle bi satıcıdan digerine geçmeden önce Toplam diye bahsetttim hesaplamayı yapamıyorum.. Buna bi öneriniz varmıdır?

DevExpress çok duyuyorum ama ücretli, ve nerden tedarik edilir onu bile bilmiyorum, ve alıcak olursam nasıl kullanıcam onu da bilmiyorum kullanılış tarzını.. delphi araçlarını bile malumunuz ancak bu kadar kullanabilirken..
adnansirca
Üye
Mesajlar: 135
Kayıt: 14 Kas 2005 12:24

Re: Listview'de Grouplama

Mesaj gönderen adnansirca »

Cursor problemi için;
Verileri veritabanından almanızla ilgili olabilir.
Kodlarınız olmadığı için tahmin yürütebilirim.

Application.ProcessMessages ve
try ... finally .. end
deyimlerini kullanmanız gerekebilir.

Rümuzların görünmesi;

Kullandığınız veritabanını yazarsanız, ilgili çözüm üretilebilir.
Örnek kodunuz olmadığından tahmin yürütüyorum kısacası....

Şöyle bir mantıkla hareket edelim.
Rumuz tablosu ana tablo olsun.
fiyat ve ürünlerin bulunduğu tablo detail tablo olsun.
Buna göre listview in rumuz alanına ilgili rumuz kodunu rumuz tablosundan,
fiyat ve ürün alanına ise detail tablodan ilgili veriler aktarılabilir.
Bu tamamen veritabanı bilgisine bağlı bir şey.
Toplamı alma işlemi de değişkenler ile yapılabilir.


Eğer veritabanından değil de el ile verileri girecek olursak;
Listview üzerinde sağ tıklayıp items editor u açın.
Items sekmesinde görünen elamanların caption özelliğini boş bırakarak istediğinizi yapabilirsiniz.
Bunu kod ile de yapmak mümkün.
Mesela ;

Kod: Tümünü seç

With ListView1 do
    begin
    Items.Add;
    Items.Item[0].Caption := '010';
   Items.Item[0].SubItems.Add('');
    Items.Item[0].SubItems.Add('Çorap');
    Items.Item[0].SubItems.Add('2.00 TL');
    Items.Add;
    Items.Item[1].Caption := '011';
    Items.Item[0].SubItems.Add('');
    Items.Item[1].SubItems.Add('Boncuk');
    Items.Item[1].SubItems.Add('1.00 TL');
   
end;
DevExpress componentlerini google dan arayın.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Listview'de Grouplama

Mesaj gönderen Battosai »

Burda gruplama örneği var yardımcı olabilir..http://delphi.about.com/od/vclusing/a/d ... -items.htm
Cevapla