Início > Artigos, Delphi > Dados no TTreeView com TDataSet

Dados no TTreeView com TDataSet

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');
Anúncios
Categorias:Artigos, Delphi Tags:, ,
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: