2014-09-05 79 views
0

我有一個簡單的問題。我想讓用戶能夠將一個或多個用戶從用戶列表(<s:List>)拖放到公司樹上的所需公司<mx:Tree>如何以編程方式訪問樹上的節點?

我得到了所有拖放代碼,Flex應用程序根據需要執行,除非應用程序用戶將用戶對象拖動到他們希望添加的公司上時,它不會提供任何類型的視覺提示。綜觀Flex文檔,只有這樣,才能得到任何可視指示哪個公司的拖動的對象將被丟棄到在dragOver事件使用此:

CompanyTree.showDropFeedback(event); 

上述代碼繪製上方或難看的線低於公司的名稱,這使得它看起來像將被放在公司的上方或下方,這不是我想要的。應用程序用戶應該清楚他們拖到公司的用戶是否在公司內部。

我想要做的就是讓公司成爲dragOver'突出顯示'效果的目標。但是這裏遇到了一個大問題:根據Flex文檔以及我的FlashBuilder和Flex SDK的幫助,無法訪問樹上的單個節點!

我可以在dragOver事件做的,就是讓用戶上被丟棄這個代碼項目的索引:

var index:int = CompanyTree.calculateDropIndex(event); 

但我不能這樣做與該索引是使用它直接訪問節點並給它「高亮」效果或應用某種setStyle調用,以向用戶顯示它當前是放置的目標!

我希望能夠做的是這樣的:

var hoveredNode:UIComponent = CompanyTree.Nodes[index]; 

hoveredNode.setStyle("color",0xFF0000); 

但似乎我不是因爲Flex的似乎可以不給任何方式訪問在一個樹節點。或者我錯過了什麼?

PS請注意,我無法在dragOver事件期間更改CompanyTree的selectedIndex,因爲我還必須保留已移動的用戶舊公司。

回答

-1

你肯定錯過了很多!一切都可用,你只需要尋找它(研究)。我使用自從多年的樹與任何節點可以連接到單獨的瑞士法郎。圖像文件等或顯示縮略圖的樹當懸停在節點上時,以及通過選擇顯示全尺寸圖像來顯示圖像。研究是一切,不僅僅是在FLEX4 +中,但我不得不承認,越來越難找到任何東西,因爲ADOBE讓他們處於寒冷中,因此許多開發人員已經轉向更環保的更好的牧場!問候一個問題

+1

我一直在開發Flex超過一年,從字面上做了幾天的研究,以達到提問這一點。如果問題是:「如何將變量設置爲作爲拖放操作目標的樹中的節點,」Do Research「不是有用的答案,因此我可以將其設置爲」突出顯示「或執行setStyle調用它?「。據我所知,通過閱讀Adobe的文檔以及查看樹組件的EVERY屬性,Flex中沒有樹節點對象的概念,只有樹和它的dataProvider。 – Disease 2014-09-06 16:35:17

相關問題