Posts Tagged ‘TTreView’
Dados no TTreeView com TDataSet
14/12/2012
Deixe um comentário
O processo de preenchimento de dados TTreeView componentes de TDataSet compatível com tipo do exemplo : idNode int, idParentNode int, cNodeName varchar
adicionar uses Windows, SysUtils, DB, ComCtrls
{Nota: o nó raiz deve ser o primeiro registro da amostra. USES : Windows, SysUtils, DB, ComCtrls ***************************************************** } procedure FillTree(Tree: TTreeView; Query: TDataSet; idNode, idParent, cNodeName: string); var i: integer; begin // O nó raiz deve ser o primeiro de uma consulta de exemplo Query.First; Tree.Items.Clear; Tree.Items.AddObject(nil, Query.FieldByName(cNodeName).AsString, Pointer(Query.FieldByName(idNode).asInteger)); Query.Next; while not Query.Eof do begin i := 0; while i < Tree.Items.Count do if Tree.Items.Item[i].Data = Pointer(Query.FieldByName(idParent).asInteger) then begin Tree.Items.AddChildObject(Tree.Items.Item[i], Query.FieldByName(cNodeName).AsString, Pointer(Query.FieldByName(idNode).asInteger)); break; end else Inc(i); Query.Next; end; end; //Exemplo de uso FillTree(TreeView1, ADOQuery1, 'idDoc', 'idParentDoc', 'cDocument');