Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IntraWeb TreeView Items ausblenden (https://www.delphipraxis.net/78112-intraweb-treeview-items-ausblenden.html)

hirnstroem 29. Sep 2006 09:50


IntraWeb TreeView Items ausblenden
 
'loha Folks,

IWTreeView ist Krieg!

Ich möchte einzelne Root Items gezielt ausblenden, um verschiedenen Usern mit verschiedenen Rechten verschiedene Items anzuzeigen. Bisher habe ich dies so gelöst:

Delphi-Quellcode:
procedure TIWUserSession.SetRights(Sender: TIWTreeView);
var
  RightManagementToolRight,
  OperationToolRight,
  ConfigurationToolRight: Boolean;
begin
  SearchLoginUser(Sender, FUsername, '', '');
  ConfigurationToolRight := ADODataSet_LoginUserConfigurationTool.Value;
  OperationToolRight := ADODataSet_LoginUserOperationTool.Value;
  RightManagementToolRight := ADODataSet_LoginUserRightManagementTool.Value;
  with Sender as TIWTreeView do
  begin
    if RightManagementToolRight = False then
      Items.Items[1].Destroy; // 2. Right Management Tool
    if OperationToolRight = False then
      Items.Items[3].Destroy; // 3. Operation Tool
    if ConfigurationToolRight = False then
      Items.Items[6].Destroy; // 4. Configuration Tool
  end;
end;
Leider ist es aber so, dass sobald beispielsweise das Item 1 zerstört wird, irgend ein anderes Item die 1 zugewiesen bekommt, was es unmöglich macht, gezielt Items zu entfernen.

Nun schwebt vor nach dem Namen des jeweiligen Items zu suchen und dieses dann zu zerstören. Ist für meine Begriffe aber alles minder schön gelöst.

Ideen die zur Lösung dieser Angelegenheit sind also gerne Willkommen.

Grüsse
hirnstroem

marabu 29. Sep 2006 10:00

Re: IntraWeb TreeView Items ausblenden
 
Hi,

wie immer zuerst die Items mit dem größten Index löschen, dann sollte es funktionieren. Zum Löschen bitte Free() verwenden, nicht Destroy().

Grüße vom marabu

hirnstroem 29. Sep 2006 10:11

Re: IntraWeb TreeView Items ausblenden
 
Hallo marabu,

das ist natürlich clever, funktioniert auch, vielen Dank!

Grüsse
hirnstroem


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz