Eu criei uma rotina, Eu tenho na minha tabela o Campo ID para identificação do registro e PARENTID para saber quem é seu pai. Bom de posse desta estrutura eu faço o seguinte rotina:
Este é meu Record: tpTreeNodeData = record Id, ParentId: string end; Aqui é a procedure que monta a treeview de nome pTV procedure LoadTreeFromDb(pParentId: string = '0'; ACurrNode: TTreeNode = nil); Var TempTable: TADODataset; TempNode: TTreeNode; TempData: ^tpTreeNodeData; begin TempTable := TADODataset.Create(nil); TempTable.Connection := pConnection; TempTable.CommandText := 'Select Id, ParentId, Nome From AreasPN WHERE (ParentId = ' + QuotedStr(pParentId) + ') '; TempTable.Open; While not(TempTable.Eof) do begin New(TempData); TempData^.Id := TempTable.FieldByName('Id').AsString; TempData^.ParentId := TempTable.FieldByName('ParentId').AsString; TempNode := ptv.Items.AddChildObject(ACurrNode, TempTable.FieldByName(Nome).AsString, TempData); LoadTreeFromDb(TempTable.FieldByName('Id').AsString, TempNode); TempTable.Next; end; end; Qualquer duvida, se tiver msn o meu é [EMAIL PROTECTED], entra em contato comigo ... _____ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de tatipferrari Enviada em: quarta-feira, 6 de dezembro de 2006 14:55 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Identificar um nó de uma Tree view, não pelo seu texto Ok , Anderson, este campo data , vi q deve ser um tipo Pointer. MAs minha duvida é : como então , depois de colocado este campo data , dizer que é para inserir um filho naquele nó com aquele pointer ... Meu código : type PMyRec = ^TMyRec; TMyRec = record Codigo: string; end; --- procedure TfmtesteB.CarregaItens; var TNF,TNP, Node : TTreeNode; RecPtr : PMyRec; ... ... while not qryAreasPN.Eof do begin New(RecPtr); RecPtr^.Codigo:= trim(qryAreasPNCodArea.Value) ; Se NODO PAI : TNP := TreeView1.Items.Add(nil, qryAreasPNNome.Value; TNP.Data := RecPtr; Se NODO Não PAI : AQUI não sei como fazer.....para encontrar o pai ( ou ir para ) que possua no campo 'Data' o valor do cod pai (qryAreasPNCodPai.Value; ) E então encontrado o pai , inserir este no filho , algo assim TNF := TreeView1.Items.AddChild(TreeView1.Items[nivel], qryAreasPNNome.Value ); TNF.Data := RecPtr; end; end; ----- E Mais ... Como preciso inserir num banco de dados , devo extrair a informação Código apenas, sem de dar o erro de tipos incompativeis, ( entre Pointer e String) , então devo usar obter desta forma : PMyRec(TreeView1.Selected.Data)^.Codigo Certo ??? Aguardo retorno, desde já agradeço imensamente !!!!!!!!!!! Tati --- Em [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br, "anderson" <[EMAIL PROTECTED]> escreveu > > Utilize a propriedade DATA do TreeNode. > > > > _____ > > De: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br [mailto:delphi- [EMAIL PROTECTED] <mailto:br%40yahoogrupos.com.br> com.br] Em > nome de tatipferrari > Enviada em: terça-feira, 5 de dezembro de 2006 17:02 > Para: [EMAIL PROTECTED] <mailto:delphi-br%40yahoogrupos.com.br> os.com.br > Assunto: [delphi-br] Identificar um nó de uma Tree view, não pelo seu texto > > > > Olá pessoal : > > Estou criando uma tree view dinamica, com os dados de uma tabela, onde > nela eu tenho o codArea, descricao , e CodPai, pois só assim consigo > saber quem é pai de quem ... e ao inserir um nó , coloco no seu texto o > codigo da area. > Porém minha pergunta é .. existe alguma forma de identificar um nó , > mas sem ser pelo texto ?, por exemplo ao inserir um filho, eu indico > quem é o nó pai, o seu texto p/ mostrar ao usuáio e outro campo onde > guardo o seu código identificador (único) ????? > Pois hoje estou colocando este código no texto ... mas aparece para o > usuário e não fica esteticamente legal... > > Aguardo por um retorno ! > Grata, > > > > > > [As partes desta mensagem que não continham texto foram removidas] > [As partes desta mensagem que não continham texto foram removidas]