2012-03-22 61 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。