Fórum Ajuda com treeview #394603
28/01/2011
0
if (copy(QuDireitosDireito.AsString, 1, 1) = '0') or (copy(QuDireitosDireito.AsString, 1, 1) = '1') then
Begin
Tree1.Items.AddChild(node, 'Inclui');
Node.Item[0].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 1, 1));
End; if (copy(QuDireitosDireito.AsString, 2, 1) = '0') or (copy(QuDireitosDireito.AsString, 2, 1) = '1') then
begin
Tree1.Items.AddChild(node, 'Altera');
Node.Item[1].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 2, 1));
end;
Até aí ok, tudo funcionando, o que está pegando é na hora de dar duplo click nele, está apresentando o erro de list of bounds(0), como se o treeview estivesse vazio. A treeview está carregada, só não entendo o porque disto. Alguem poderia me ajudar? Obrigado. Abaixo códigos que ja tentei, mas sem sucesso. procedure TTeste.Tree1DblClick(Sender: TObject);
Begin //if Node.Item[Node.SelectedIndex].ImageIndex = 1 then
// Node.Item[1].ImageIndex := 1;
// Tree1.Items.Item[1].ImageIndex := 1 // Node.Item[Node.SelectedIndex].ImageIndex := 0
// else
// Node.Item[Node.SelectedIndex].ImageIndex := 1 if Tree1.Items.Item[Node.SelectedIndex].ImageIndex = 1 then
Tree1.Items.Item[Node.SelectedIndex].ImageIndex := 0
else
Tree1.Items.Item[Node.SelectedIndex].ImageIndex := 1; end;
Cleber
Curtir tópico
+ 0Posts
28/01/2011
Cleber
Gostei + 0
28/01/2011
Wilson Junior
Espero ter colaborado.
Gostei + 0
28/01/2011
Emerson Nascimento
if TreeView1.Selected <> nil then
begin
TreeView1.Items.BeginUpdate;
if TreeView1.Selected.ImageIndex = 1 then
TreeView1.Selected.ImageIndex := 0
else
TreeView1.Selected.ImageIndex := 1;
// TreeView1.Selected.SelectedIndex := TreeView1.Selected.ImageIndex;
TreeView1.Items.EndUpdate;
end;
além do imageindex você talvez precise manipular também o selectedindex.
Gostei + 0
28/01/2011
Cleber
Gostei + 0
28/01/2011
Cleber
Gostei + 0
28/01/2011
Cleber
if Tree1.Selected <> nil then
begin
Tree1.Items.BeginUpdate;
if Tree1.Selected.ImageIndex = 1 then
Tree1.Selected.ImageIndex :=0
else
Tree1.Selected.ImageIndex :=1
Tree1.Items.EndUpdate;
end;
Tree1.Refresh;
Gostei + 0
29/01/2011
Cleber
QuDireitos.SQL.Clear;
QuDireitos.SQL.Add('select * from USUARIO_DIREITOS');
QuDireitos.Open;
TRee1.Items.BeginUpdate;
if QuDireitos.RecordCount > 0 then
while not QuDireitos.Eof do
begin
node := Tree1.Items.add(nil, QuDireitosCampo.AsString); if (copy(QuDireitosDireito.AsString, 1, 1) = '0') or (copy(QuDireitosDireito.AsString, 1, 1) = '1') then
Begin
Tree1.Items.AddChild(node, 'Inclui');
Node.Item[0].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 1, 1));
End; if (copy(QuDireitosDireito.AsString, 2, 1) = '0') or (copy(QuDireitosDireito.AsString, 2, 1) = '1') then
begin
Tree1.Items.AddChild(node, 'Altera');
Node.Item[1].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 2, 1));
end; if (copy(QuDireitosDireito.AsString, 3, 1) = '0') or (copy(QuDireitosDireito.AsString, 3, 1) = '1') then
Begin
Tree1.Items.AddChild(node, 'Exclui');
Node.Item[2].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 3, 1));
end; if (copy(QuDireitosDireito.AsString, 4, 1) = '0') or (copy(QuDireitosDireito.AsString, 4, 1) = '1') then
Begin
Tree1.Items.AddChild(node, 'Imprime');
Node.Item[3].ImageIndex := StrToInt(copy(QuDireitosDireito.AsString, 4, 1));
end;
QuDireitos.next;
Gostei + 0
30/01/2011
Cleber
Gostei + 0
30/01/2011
Cleber
Node.Item[1].SelectedIndex := NaoGrava; Obrigado a todos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)