Ivano Postado Novembro 29, 2006 Denunciar Share Postado Novembro 29, 2006 Olá amigos,estou tentando apagar todos os subníveis de uam treview, que estiverem acima do 2º nível, mas está dando erro. tentei fazer assim: for i := 0 to tvp.Items.Count-1 do if tvp.Items.Level > 0 then Dispose(tvp.Items.Data); tvp.Items.Clear;Só que assim apaga tudo!Alguém sabe me dizer o que ocorre? Lembrando que eu quero apagar todos os níveis do 3º pra frente.Ajudem aí! Obrigado. :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Ivano Postado Novembro 29, 2006 Autor Denunciar Share Postado Novembro 29, 2006 Já descobri, é assim: while i <= tvp.Items.Count-1 do begin if tvp.Items.Level > 2 then begin Dispose(tvp.Items.Data); tvp.Items.delete; end; i:=i+1; //tvp.Items.Clear; end; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Novembro 29, 2006 Denunciar Share Postado Novembro 29, 2006 Acho que esse While tem um pequeno furo. Se você tiver dois níveis 3 seguidos, o segundo não será excluído; sem contar que se você tiver níveis 4 em diante, sua variável i estará totalmente incompatível com o tvp.Items.Count.Acho que seria melhor você excluir através de um for na ordem inversa. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Ivano
Olá amigos,
estou tentando apagar todos os subníveis de uam treview, que estiverem acima do 2º nível, mas está dando erro. tentei fazer assim:
for i := 0 to tvp.Items.Count-1 do
if tvp.Items.Level > 0 then
Dispose(tvp.Items.Data);
tvp.Items.Clear;
Só que assim apaga tudo!
Alguém sabe me dizer o que ocorre? Lembrando que eu quero apagar todos os níveis do 3º pra frente.
Ajudem aí! Obrigado. :)
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.