2012-03-22 28 views
1

我正在使用智能GWT 3.0 LGPL-我試圖在樹中顯示用戶輸入到文本區域的整個XML塊。smartgwt初學者 - 如何顯示在文本區域輸入到樹中的xml

我可以從用戶輸入的xml中獲取節點列表,但是在智能GWT中,樹小部件僅接受TreeNode []成員作爲數據。

如何將NodeList(使用GWT的內置XML解析器獲得)轉換爲TreeNode []?我的方法是否正確(以樹形式顯示xml)?或者是解決這個問題的辦法與我所想的完全不同?

回答

0

您可以創建一個數組TreeNode [],其大小爲nodelist的長度,並在一個週期中放置一個值。之後,您可以在樹中設置此TreeNode []。

1

我假設你使用SmartGWT的TreeGrid對象來創建樹。 TreeGrid只是一個專門的ListGrid,隨後,它可以被數據綁定到一個Datasource,它可以輕鬆解析XML。看看這個example。它應該可以幫助你爲你的問題創建一個解決方案。如果你需要的只是一棵簡單的樹,你可以只顯示TreeGrid中的一個字段。

如果您無法通過URL訪問xml數據(例如通過文本區域訪問它們),那麼在將它們解析爲NodeList之後,應該迭代它們並創建一個TreeNode對象數組。對於每個Something對象,您應該使用setAttribute(attributeName,attributeValue)方法設置其關聯的TreeNode對象的屬性。然後創建一個Tree對象,並從根開始,可以使用Tree的各種方法在所需的位置添加TreeNode對象。然後,一個簡單的:treeGrid.setData(Tree樹)將加載並顯示您的數據在您的TreeGrid。