Fórum TreeView e DBGrid #445660
17/06/2013
0
Queria saber se tem algum jeito de quando eu Clicar em um nó da TreeView ele selecionar a linha relacionada a esse nó
pois na hora de excluir o eu consigo excluir o no da TreeView mas não da tabela.
Uso delphi 7
Eduardo Mendonça
Curtir tópico
+ 0Posts
17/06/2013
Junior Miranda
[]`s
Gostei + 0
17/06/2013
Eduardo Mendonça
{Make sure somthing is selected, before trying to delete it}
if( TrV.Selected = nil ) then
begin
Beep;
ShowMessage('Nothing selected');
Exit;
end;
{Dont allow user to delete the root node}
if(TrV.Selected.Level = 0) then
begin
Beep;
ShowMessage('Cant delete the root node');
Exit;
end;
if Application.MessageBox(PChar('Deseja Realmente EXCLUIR '+
TNoData(TrV.Selected.Data).sText+'?'),'Pergunta', MB_YESNO+
MB_ICONQUESTION+MB_DEFBUTTON2) <> IDNO then
begin
DM.tArq.Locate('nome_do_arquivo', TNoData(TrV.Selected.Data).sText,[]);
{Apagar arquivos}
Windows.DeleteFile(PChar(Trim(DM.TParCaminho.AsString)+TNoData(TrV.Selected.
Data).sText));
// dbgArquivo.SelectedRows.Delete;
DM.qArq.Delete;
{Free the class}
if(TrV.Selected.Data <> nil) then
TNoData(TrV.Selected.Data).Free;
{Delete the node}
TrV.Selected.Delete;
DM.qArq.Close;
end;Só que quando estou excluindo ele da uma msg de erro + ele exclui o arquivo e exclui na hora da tree só não no banco
Gostei + 0
17/06/2013
Eduardo Mendonça
Gostei + 0
19/06/2013
Eduardo Mendonça
Eu Consegue Fazer a parte de Clicar e levar a seleção para o DBGrid só que ele não apaga a linha a linha do banco refente onde eu clico. Ficou assim o código do botão para apagar da árvore e do banco:
procedure TfVisualizador.btnDelArquivoClick(Sender: TObject);
var
vNomeArquivo : String;
begin
{Certifique-se de somthing é selecionado, antes de tentar apagá-lo}
if(TrV.Selected = nil) then
begin
Beep;
ShowMessage('Selecione um item');
Exit;
end;
{Não permite que o usuário exclua o nó raiz}
if(TrV.Selected.Level = 0) then
begin
Beep;
ShowMessage('Não é possível excluir o processo!');
Exit;
end;
{Não permite que o usuário exclua os Nós que não seja o ultimo }
if not(TrV.Selected.Index = (DM.qQt.FieldByName('NUM_PAGINAS').Value -1)) then
begin
Beep;
ShowMessage('Não é possível excluir o nó!');
Exit;
end;
if Application.MessageBox(PChar('Deseja Realmente EXCLUIR '+ TNoData(TrV.Selected.Data).sText+'?'),'Pergunta',
MB_YESNO+MB_ICONQUESTION+MB_DEFBUTTON2) <> IDNO then
begin
vNomeArquivo := TNoData(TrV.Selected.Data).sText;
{Apagar arquivos} {Cominho do Arquivo + Nome Do arquivo}
Windows.DeleteFile (PChar(Trim(DM.TParCaminho.AsString)+vNomeArquivo));
dbgArquivo.SelectedRows.Delete; // Já testei isso e não funfou para apagar a linha
DM.qArq.Delete;
{Free the class}
if(TrV.Selected.Data <> nil) then
TNoData(TrV.Selected.Data).Free;
{Deleta o no da Árvore }
TrV.Selected.Delete;
btnArvoreClick(Self);
end;
end;//Fim do btnDelArquivo OnClick
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)