Mais rapidez para abrir um treeview?
28/06/2008
0
O código está no onShow do Form
Código:
procedure TfrmPesMunicipios.FormShow(Sender: TObject); var Nodo, SubNode1, SubNode2: TTreeNode; begin top := 0; left := 0; {: Adicione a linha abaixo. ela prepara o treeview para edicao e não reporta as alterações para a tela enquanto não terminar o processo, tornando o procedimento mais veloz} TreeView1.Items.BeginUpdate; TreeView1.Items.Clear; {: Desabilitar os controle ligados a tabela, para melhorar a performance} cdsTEstado.Close; cdsTEstado.SQL.Clear; cdsTEstado.SQL.Text := ´ select comunicipio, nomunicipio, infaixa ´+ ´ from tb8munic ´+ ´ where infaixa is null ´+ ´ order by nomunicipio ´; cdsTEstado.Open; cdsTEstado.DisableControls; cdsTEstado.First; while not cdsTEstado.Eof do begin if cdsTEstado.FieldByName(´infaixa´).Value = null then begin SubNode1:= TreeView1.Items.AddChild(Nodo, cdsTEstadoNOMUNICIPIO.value); with cdsTMunicipios do begin Close; Params[0].AsString := Copy(cdsTEstadoCOMUNICIPIO.AsString, 1, 2); Open; cdsTMunicipios.DisableControls; cdsTMunicipios.First; while not cdsTMunicipios.Eof do begin SubNode2:= TreeView1.Items.AddChild(SubNode1, cdsTMunicipiosNOMUNICIPIO.value); cdsTMunicipios.Next; end; end; cdsTMunicipios.EnableControls; cdsTEstado.Next; end; end; cdsTEstado.EnableControls; {: informa ao treeview que as alterações foram finalizadas} TreeView1.Items.EndUpdate; end;
Adriano_servitec
Posts
28/06/2008
Ara.es
28/06/2008
Adriano_servitec
Vou ver aqui se eu consigo.
Obrigado por responder amigo.
28/06/2008
Adriano_servitec
Vou ver aqui se eu consigo.
Obrigado por responder amigo.
Clique aqui para fazer login e interagir na Comunidade :)