Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) TreeView


Pirambu!

Pergunta

Estou com um problema, tenho um Treeview que estar funcionando normamente para os Acesso do usuario aos Menus.

mas gostaria de alterar o status do Usuario com dois click e alterar a imagem, então adicionei apenas duas imagem "permitido" ou "não permitido", na tabela tenho os campos Usuario, NomeTela e Acesso. Onde no campo acesso pode ser 0 ou 1 para facilitar a escolha da imagem no treeview.

mas não sei como alterar essa imagem no treeview alguém sabe como posso fazer isso?

e quando o Treeview abrir mostrar a imagem conforme o valor no campo da tabela.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Estou com um problema, tenho um Treeview que estar funcionando normamente para os Acesso do usuario aos Menus.

mas gostaria de alterar o status do Usuario com dois click e alterar a imagem, então adicionei apenas duas imagem "permitido" ou "não permitido", na tabela tenho os campos Usuario, NomeTela e Acesso. Onde no campo acesso pode ser 0 ou 1 para facilitar a escolha da imagem no treeview.

mas não sei como alterar essa imagem no treeview alguém sabe como posso fazer isso?

e quando o Treeview abrir mostrar a imagem conforme o valor no campo da tabela.

Use o componente ImageList da paleta Win32

link este componente ao Treeview pela propriedade Images

e para mudar as imagens use

procedure TForm1.Button1Click(Sender: TObject);
begin
   TreeView1.Items.Item[1].ImageIndex := 1;
end;

OBS: para mudar as imagens selecione o item do Treeview e o indice da imagem que esta no ImageList.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas estou dando continuidade ao meu Controle de Acesso comentado neste tópico Manipulando Menu, estou quase terminando, falta apenas o administrador, quero usar um TreeView, o Controle de acesso estão em uma tabela TAcesso com esses campos

Registro_ID,

Usuario_ID,

Nome da Tela,

Menu, - aqui fica a seguencia do menu - 10,1001,1002, - 20,2001,2002,2003

Acesso - aqui é onde digo se o usuário tem acesso ou não. com "0" ou "1"

no Treeview eu uso uma query para trazer as informações quando eu informar o usuario, e adicionei um ImageList1 com a propriedade no Treeview->imagens = "ImageList1" e adicionei duas imagens uma será "permitido" a outra será "não permitido"

No treeview estar funcionando sem problema e fica assim

-CADASTROS - Se estar permitido o acesso antes do nome "CADASTROS" apareçe um imagem de "X" Indicando que não tem permição.

-->Cliente

-->Fornecedores

-LANÇAMENTOS

-->Lançamento Diario

-->outros

------>Outros

-->outros

apareçe para todos os menus a imagem de valor "0" da ImageList1 indicando que não tem permissão.

o que eu não estou sabendo fazer é Associar a imagem a Tabela do banco para apareçer conforme o Valor "0" ou "1" do Campo, e poder alterar a imagem e ao mesmo tempo o valor do campo da tabela quando de dois Click no item do TreeView ou um botão na lateral "Pertitir".

Espero ter Explicado melhor.

Link para o comentário
Compartilhar em outros sites

  • 0
no Treeview eu uso uma query para trazer as informações quando eu informar o usuario, e adicionei um ImageList1 com a propriedade no Treeview->imagens = "ImageList1" e adicionei duas imagens uma será "permitido" a outra será "não permitido"

apareçe para todos os menus a imagem de valor "0" da ImageList1 indicando que não tem permissão.

o que eu não estou sabendo fazer é Associar a imagem a Tabela do banco para apareçer conforme o Valor "0" ou "1" do Campo, e poder alterar a imagem e ao mesmo tempo o valor do campo da tabela quando de dois Click no item do TreeView ou um botão na lateral "Pertitir".

Voce só precisa fazer uma condição ( IF ) para que na hora de montar os itens do Treeview saber qual valor do indice da imagem ira ser usada.

Como não é possivel advinhar o que voce esta tentando fazer, seria melhor voce postar o codigo, para poder te orientar melhor.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas, como já implementei algo similar tempos atrás, permita-me dar um picato neste tópico...

o que eu não estou sabendo fazer é Associar a imagem a Tabela do banco para apareçer conforme o Valor "0" ou "1" do Campo,
Pirambu!, como já disse o colega Jhonas, você precisará alterar a propriedade ImageIndex do respectivo item no seu TreeView.

Aparentemente você tem seu TreeView fixo, ou seja, ele é apresentado com todas as opções de menus do seu programa. Por default, a propriedade ImageIndex é 0 (zero).

Voce não informou se guarda no arquivo de controle do acesso, para cada usuário, a informação sobre todos os itens do menu (se tem ou não acesso) ou se apenas os itens que o usuário tenha acesso.

Seja lá como for, o TreeView não sabe nada sobre isto e, deste modo, quando você seleciona um usuário, deverá inicializar todo o TreeView verificando na tabela de acesso, que item o usuário tem ou não acesso e ajustando a propriedade ImageIndex (para isto você usará um IF como já sugeriu o colega Jhonas).

e poder alterar a imagem e ao mesmo tempo o valor do campo da tabela quando de dois Click no item do TreeView ou um botão na lateral "Pertitir".
isto você fará também manipulando a propriedade ImageIndex.

No evento OnDblClick do TreeView, você verifica o conteúdo da propriedade ImageIndex do item atualmente selecionado (p.e. TreeView1.Selected.ImageIndex). Se estiver com 0 você troca por 1 e vice-versa. No caso dos botões o procedimento é similar - tem que manipular o item selecionado.

Quanto a gravar na tabela, você tem a opção de fazer neste mesmo momento, ou de após as alterações, oferecer uma opção para que as informações sejam gravadas e, então, você "varre" o TreeView e grava a informação adequadamente na tabela.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Micheus, a Treeview não é fixa eu criei dois execultavel e ambos tem menu distintos mas os dois são representado na mesma treeview, onde eu posso filtrar por execultavel, ai mostra os menus do execultavel que eu filtrei,

apareçe para todos os menus a imagem de valor "0" da ImageList1 indicando que não tem permissão.

o que eu não estou sabendo fazer é Associar a imagem a Tabela do banco para apareçer conforme o Valor "0" ou "1" do Campo, e poder alterar a imagem e ao mesmo tempo o valor do campo da tabela quando de dois Click no item do TreeView ou um botão na lateral "Pertitir".

você tem razão tinha que indicar a imagem no momento da montagem do treeview. ficou assim.
ImageIndex:= QAcessoAcesso.AsInteger;

SelectedIndex:= QAcessoAcesso.AsInteger;

como o valor de "QacessoACesso.asInteger" vai alternar de "0" para "1" e a mesma ordem do ImageList, então fica beleza.

e depois de montada eu mando expandir a treeview

for i:= 0 to TreeView1.Items.Count-1 do

begin

TreeView1.Items.Expand(True);

end;

e para alterar o valor na tabela dependendo a tela que estaja selecionada eu identifico desta forma

formaN1:= Treeview1.Selected;

depois uso uma query para alterar o valor na tabela de "0" para "1" ou vise vesa.

depois mando montar e expandir novamente.

estar funcionando certinho, quando o usuario entra com o codigo aparece a lista de execultaveis que ele tem acesso e ao entrar no execultavel ele tem acesso apenas as telas que são liberadas pelo treeview.

Valeu, Obrigado Micheus e Jhonas

Link para o comentário
Compartilhar em outros sites

  • 0
Micheus, a Treeview não é fixa eu criei dois execultavel e ambos tem menu distintos mas os dois são representado na mesma treeview, onde eu posso filtrar por execultavel, ai mostra os menus do execultavel que eu filtrei,
O que havia feito tinha também este recurso. ;)

e depois de montada eu mando expandir a treeview

for i:= 0 to TreeView1.Items.Count-1 do
 begin
   TreeView1.Items[i].Expand(True);
end;

facilite sua vida e use apenas: TreeView1.FullExpand;

Abraços

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...