Listeleme Şekli

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
oytuntez
Üye
Mesajlar: 13
Kayıt: 14 Tem 2005 04:40
Konum: İzmir

Listeleme Şekli

Mesaj gönderen oytuntez »

Merhabalar..

Benim sormak istediğim listeleme ile ilgili..

Şimdi..

Bir alan olacak ve o alanda ağaç liste şeklinde Üst Kategoriler ve Alt Kategoriler listelenecek..

Yani her Üst Kategorinin yanındaki '+' ile onun alt kategorileri açılacak..

Alt kategorilerde de '+' simgesi ile açılım yapılacak ve o üst kategoriye ait abc tablosundaki kayıtların başlıkları listelenecek.

yani..

+ÜstKAT1
+AltKAT1
+Kayıt1
+Kayıt2
+Kayıt3
+ÜstKAT1
+AltKAT1
+Kayıt1
+Kayıt2
+Kayıt3

gibi gösterilecek kayıtlar..+lara basıldığında gösterilecek onun altındakiler tabi (sub ları.)

bunu nasıl yapabilirim acaba?? (kayıtları db den alıyorum.)

bunun için bir compenent gibi bişi varmı ki çünkü ben pek göremedim de.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

tablo yapın destekliyorsa Dev. Express te TdxDBLookupTreeView var..
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

merhaba
treeview ile.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Su sekilde bir tablo yapınız oldugunu varsayıyorum :

> ID | ParentID | Aciklama

ve islemde Query kullanacagız. Eger Table kullanacaksan table in filter ozelligini
kullanman gerekecek.

Prosedürümüz :

Kod: Tümünü seç

  procedure PopulateNodes(aParentID: integer; ParentNode: TTreenode); 
  var 
      CurrentNode: TTreeNode; 
  begin 
      [i]// ParentID ye gore node ları seçiyoruz [/i]
      recordset := [select * from SENIN_TABLON where parentid = aParentID] 
      while not recordset.EOF do 
      begin 
          CurrentNode := Treeview.AddChild(ParentNode, 
recordset["Description"]) 
          [i]// currentnode için cocuk node lar yerini alıyor  [/i]
          PopulateNodes(recordset["id"], CurrentNode) 
          recordset.next 
      end; 
  end; 
Kullanım sekli :

Kod: Tümünü seç

PopulateNodes(0, nil)
Baska bir yol ise tabloda ki verileri once bir XML dokumanı olarak kadedip
daha sonra bunu Treeview a yuklemek. Onun icinde su baslıgı okumanızda
fayda var

http://delphi.about.com/library/weekly/aa101904a.htm
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Cevapla