GARANTIR DESCONTO

Fórum TreeView .Locate #289344

25/07/2005

0

Boa Tarde Pessoal!

Sou novo na área de programação e estou com uma dúvida que pode ser básica mas eu não estou conseguindo resolver.

Eu tenho um TreeView no meu Form, ele está funcionando blz, mas não estou conseguindo excluir as informações do banco no momento em que se é clicado o botão excluir... Ele exclui sempre o primeiro registro da tabela, e não o registro que eu selecione, sei que preciso fazer um ´locate´ para que no momento da seleção seja procurado o registro correspodente, mas não estou conseguindo.


Será que alguém pode me ajudar????

Edivaldo André Pereira


Edivaldo_ap

Edivaldo_ap

Responder

Posts

25/07/2005

Rjun

Eu não sei que tipo de informações você esta exibindo. Vamos supor que seja uma tabela de produtos e você esteja exibindo o nome do produto na treeview. Você teria que pegar o item selecionado no momento em que o botão de excluir é pressionado e dar um locate.

qryProduto.Locate(´Nome´, [texto], []);
qryProduto.Delete;


Na minha opinião, utilizar estrutura em árvoce para fazer edição de registros não é muito bom, ja que você teria que fazer tudo via código.


Responder

Gostei + 0

26/07/2005

Thiago Vidal

Eu costumo fazer assim:

Enquanto vc está montando o TreeView, vc pode definir a propriedade Data para o Bookmark atual do DataSet... e em seguida, vc só precisa recuperá-la.

Por Exemplo... enquanto vc monta o Tree
procedure TForm1.MontaTree;
var
n: TTreeNode;
begin
  ClientDataSet1.First;
  while not ClientDataSet1.Eof do
  begin
    n := TTreeNode.Create(TreeView1.Items);

[b]    n.Data := ClientDataSet1.GetBookmark;[/b]
    n.Text := ClientDataSet1.Fields[0].Text;

    TreeView1.Items.Add(n, n.Text);

    ClientDataSet1.Next;
  end;

end;

procedure TForm1.TreeView1Click(Sender: TObject);
begin
  ClientDataSet1.GotoBookmark(TreeView1.Selected.Data);
  ClientDataSet1.Delete;
  TreeView1.Selected.Delete;
end;


Claro que seria bom fazer algumas validações, mas o básico é isso aí.


Responder

Gostei + 0

27/07/2005

Edivaldo_ap

Eu acho que é isso mesmo que estou procurando, vou testar...

Obrigado, Thiago Vidal.

Edivaldo André Pereira


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar