joaopaulobiegas Postado Junho 24, 2019 Denunciar Share Postado Junho 24, 2019 Bom dia pessoal! Tenho uma treeview com a hierarquia dos formulários por setores da empresa, ex: pai, filho, neto... Preciso, para fazer o controle de acesso dos usuários, o seguinte: Quero que ele veja somente a árvore (treeview) que ele tem acesso. O resto não quero que ele veja. Os formulários que ele tem acesso já tenho numa tabela, a qual faço as liberações e revogações de acesso deles. Alguém pode me ajudar? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Junho 25, 2019 Denunciar Share Postado Junho 25, 2019 Voce tem 2 opções: 1 - Voce pode criar o TTreeView dinamicamente : removendo e criando os itens novamente ou 2 - Desabilitar os Nós que voce selecionar, mas dá mais trabalho. exemplo ( 1 ) : unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm1 = class(TForm) TreeView1: TTreeView; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; const EX_LEVEL=2; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var MyTreeNode1, MyTreeNode2 : TTreeNode; begin with TreeView1.Items do begin Clear; MyTreeNode1 := Add(nil, 'Nó Pai1'); AddChild(MyTreeNode1,'Nó Filho1'); MyTreeNode2 := Add(MyTreeNode1, 'Nó Pai2'); AddChild(MyTreeNode2,'Nó Filho2'); MyTreeNode2 := TreeView1.Items[3]; AddChild(MyTreeNode2,'Nó Neto2a'); MyTreeNode2 := TreeView1.Items[4]; Add(MyTreeNode2,'Nó Neto2b'); MyTreeNode2 := TreeView1.Items[5]; Add(MyTreeNode2,'Nó Neto2c'); Add(MyTreeNode1, 'Nó Pai3'); MyTreeNode2 := TreeView1.Items[7]; AddChild(MyTreeNode2,'Nó Filho3'); MyTreeNode2 := TreeView1.Items[8]; AddChild(MyTreeNode2,'Nó Neto3a'); TreeView1.FullExpand; TreeView1.Items.EndUpdate; end; end; procedure TForm1.Button2Click(Sender: TObject); var MyTreeNode1, MyTreeNode2 : TTreeNode; begin with TreeView1.Items do begin Clear; MyTreeNode1 := Add(nil, 'Nó Pai1'); AddChild(MyTreeNode1,'Nó Filho1'); MyTreeNode2 := Add(MyTreeNode1, 'Nó Pai2'); AddChild(MyTreeNode2,'Nó Filho2'); MyTreeNode2 := TreeView1.Items[3]; AddChild(MyTreeNode2,'Nó Neto2a'); MyTreeNode2 := TreeView1.Items[4]; Add(MyTreeNode2,'Nó Neto2b'); MyTreeNode2 := TreeView1.Items[5]; Add(MyTreeNode2,'Nó Neto2c'); Add(MyTreeNode1, 'Nó Pai3'); MyTreeNode2 := TreeView1.Items[7]; AddChild(MyTreeNode2,'Nó Filho3'); MyTreeNode2 := TreeView1.Items[8]; AddChild(MyTreeNode2,'Nó Neto3a'); // Deleta o Nó Filho do Nó Pai1 TreeView1.Items.Delete(TreeView1.Items[1]); // Deleta o Nó Neto(a) do Nó Filho2 TreeView1.Items.Delete(TreeView1.Items[2].Item[0]); TreeView1.FullExpand; TreeView1.Items.EndUpdate; end; end; end. Abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
joaopaulobiegas
Bom dia pessoal!
Tenho uma treeview com a hierarquia dos formulários por setores da empresa, ex: pai, filho, neto...
Preciso, para fazer o controle de acesso dos usuários, o seguinte:
Quero que ele veja somente a árvore (treeview) que ele tem acesso.
O resto não quero que ele veja.
Os formulários que ele tem acesso já tenho numa tabela, a qual faço as liberações e revogações de acesso deles.
Alguém pode me ajudar?
Link para o comentário
Compartilhar em outros sites
1 resposta 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.