Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > Borland Delphi
  Aktif Konular Aktif Konular RSS: TreeView ile kendi ağaç yapınızı nasıl oluşturursu
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

TreeView ile kendi ağaç yapınızı nasıl oluşturursu

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: TreeView ile kendi ağaç yapınızı nasıl oluşturursu
    Gönderim Zamanı: 02.Aralik.2010 Saat 09:56

(*
By MT
sonsuza kayan ağaç liste yapısı
TreeView ile kendi ağaç yapınızı nasıl oluşturursunuz?
SRID -1 olanlar master kayıt.
ve kayıtlar nesneye eklenirken kayıtların ID si nesnenin ImageIndex özeliğine yazılıyor.
nesneye Object tipinde bir tür de eklenebiliyor fakat listede resim kullanmayacaksanız
ImageIndex özelliğini Tag gibi kullanabilirsiniz.

alanlar:
MRID    INT
SRID    INT  
VLE     STRING

ana kayıtları için bir query:
Name: sql_tree
SQL.Text: Select * From ttree Where SRID = -1

kayıt kontrol için bir query:
Name: sql_tree_cnt
SQL.Text : Select Count(MRID) AS RCX From ttree Where SRID = :ID
*)

procedure TForm4.Button1Click(Sender: TObject);
  procedure AddSubTree(var _master:TTreeNode;ID:Integer);
  var
   rcx:Integer;
   tnx:TTreeNode;
  begin
      sql_tree_cnt.Close;
      sql_tree_cnt.Params.ParamByName('ID').AsInteger := ID;
      sql_tree_cnt.Open;
       rcx := sql_tree_cntRCX.Value;
      sql_tree_cnt.Close;

      if rcx  > 0 then
      begin

        with TQuery.Create(nil) do
        begin
          DatabaseName := 'C:\tmp';
          SQL.Text :='Select MRID, VLE From ttree Where SRID = ' + IntToStr(ID);
          Open;

          while not (Eof) do
          begin
             tnx := TreeView1.Items.AddChild(_master, Fields.FieldByNumber(2).AsString);
             tnx.ImageIndex := Fields.FieldByNumber(1).AsInteger;

             AddSubTree(tnx, Fields.FieldByNumber(1).AsInteger);
            Next;
          end;
          Close;
          Free;
        end;

      end;
  end;
var
 tmx:TTreeNode;
begin
 TreeView1.Items.Clear;

 sql_tree.Open;
 if sql_tree.RecordCount > 0 then
 begin
  while not (sql_tree.Eof) do
  begin
      tmx := TreeView1.Items.Add(nil, sql_treeVLE.Value);
      tmx.ImageIndex := sql_treeMRID.Value;

      AddSubTree(tmx, sql_treeMRID.Value);
     sql_tree.Next;
  end;
 end;
 sql_tree.Close;

end;

procedure TForm4.TreeView1Click(Sender: TObject);
begin
 lblText.Caption := TreeView1.Selected.Text;
 lblID.Caption   := IntToStr( TreeView1.Selected.ImageIndex );
end;

örnek görüntüler:
 


Düzenleyen murat turan - 02.Aralik.2010 Saat 10:01
Yukarı Dön
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 06.Aralik.2010 Saat 11:00

Güzel paylaşım

Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,293 Saniyede Yüklendi. [power by : WebWiz]