TreeView:ExpandAll()

Deutschsprachiges X#-Forum – German language forum

Moderator: wriedmann

Post Reply
lagraf
Posts: 452
Joined: Thu Jan 18, 2018 9:03 am
Location: A

TreeView:ExpandAll()

Post 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
ecos
Posts: 103
Joined: Tue Nov 10, 2015 6:49 am
Location: Germany

Re: TreeView:ExpandAll()

Post 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
lagraf
Posts: 452
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: TreeView:ExpandAll()

Post by lagraf »

Super, vielen Dank für den Code!
Hast du auch eine CollapseAll Methode?
LG
ecos
Posts: 103
Joined: Tue Nov 10, 2015 6:49 am
Location: Germany

Re: TreeView:ExpandAll()

Post 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
lagraf
Posts: 452
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: TreeView:ExpandAll()

Post 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
Attachments
Collapse.jpg
Collapse.jpg (14.37 KiB) Viewed 678 times
Expand.jpg
Expand.jpg (54.56 KiB) Viewed 678 times
ecos
Posts: 103
Joined: Tue Nov 10, 2015 6:49 am
Location: Germany

Re: TreeView:ExpandAll()

Post 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
lagraf
Posts: 452
Joined: Thu Jan 18, 2018 9:03 am
Location: A

Re: TreeView:ExpandAll()

Post by lagraf »

True funktioniert und schließt alle.
Danke dir!
LG Franz
Post Reply