Page 1 of 1
TreeView:ExpandAll()
Posted: Sun Aug 18, 2024 1:29 pm
by lagraf
Hallo,
gibt es in VO beim TreeView eine Methode zum Expandieren aller Nodes? In der Doku finde ich nichts und ExpandAll existiert nicht.
LG Franz
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 5:31 am
by ecos
Hallo Franz,
das muss man selbst in die Hand nehmen:
Code: Select all
METHOD ExpandAll() CLASS MyTreeView
LOCAL oItem AS TreeViewItem
oItem := SELF:getRootItem()
SELF:expand(oItem:NameSym)
WHILE(TRUE)
oItem := SELF:GetNextItem(oItem)
IF oItem = NULL_OBJECT
EXIT
ENDIF
SELF:expand(oItem:NameSym)
ENDDO
RETURN SELF
METHOD GetNextItem(oStartItem) CLASS MyTreeView
LOCAL oItem AS TreeViewItem
oItem := SELF:GetFirstChildItem(oStartItem)
IF oItem = NULL_OBJECT
oItem := SELF:GetNextSiblingItem(oStartItem)
ENDIF
WHILE(oItem = NULL_OBJECT)
oStartItem := SELF:GetParentItem(oStartItem)
IF oStartItem = NULL_OBJECT
EXIT
ENDIF
oItem := SELF:GetNextSiblingItem(oStartItem)
ENDDO
RETURN oItem
Karl
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 9:06 am
by lagraf
Super, vielen Dank für den Code!
Hast du auch eine CollapseAll Methode?
LG
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 9:18 am
by ecos
Logisch,
Code: Select all
METHOD CollapseAll(lRoot) CLASS MyTreeView
LOCAL oItem AS TreeViewItem
Default(@lRoot,FALSE)
oItem := SELF:getRootItem()
IF lRoot
SELF:Collapse(oItem:NameSym)
ENDIF
WHILE(TRUE)
oItem := SELF:GetNextItem(oItem)
IF oItem = NULL_OBJECT
EXIT
ENDIF
SELF:Collapse(oItem:NameSym)
ENDDO
RETURN SELF
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 11:17 am
by lagraf
Danke dir, ExpandAll funktioniert prima.
Bei CollapseAll bleibt mir vom obersten Node das erste Child offen.
Habe ich ev. den TreeView falsch aufgebaut?
--> Habe ich durch ein Anhängen von SELF:oDCTreeView:Collapse(SELF:oDCTreeView:GetFirstVisibleItem()) geschlossen
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 11:28 am
by ecos
Franz,
Ich habe bei meinen Treeviews immer ein Root-Element, an dem alle hängen. Daher funktioniert das bei mir wie gewollt. Evtl. klappt es bei dir auch, wenn du Default(@lRoot,True) verwendest oder True als Parameter übergibst...
Karl
Re: TreeView:ExpandAll()
Posted: Mon Aug 19, 2024 2:10 pm
by lagraf
True funktioniert und schließt alle.
Danke dir!
LG Franz