(* 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:
------------- http://www.kasatakip.com - Kasa Takip | http://www.caritakip.com - Cari Takip | http://www.evraktakip.com - Evrak Takip | http://www.etasqlmobil.com - ETA SQL Mobil
|