如何使用后端的数据填充CellTree

时间:2011-07-20 14:00:34

标签: gwt gwt-platform

CellTree有一个构造函数,它接受TreeModel。我不能通过setter设置树模型。

我通过异步rpc调用获取树的数据,此调用在创建与包含树的视图相对应的演示者时触发,但这意味着也创建了视图,而没有填充树模型必要的数据。

当数据确实返回时,我在模型上设置了根节点,但是模型已经在没有root的情况下创建,因此它没有得到更新......

我已经走了这条路,因为我希望能更好地控制树节点的渲染。

两种可能的解决方案......

  1. 保持视图的渲染,直到获取回来,这样当创建树时,模型具有所有信息 - 我该怎么做?

  2. 数据回来后,在模型上设置,告诉树更新......我该怎么做?

2 个答案:

答案 0 :(得分:3)

  1. 制作视图时,必须先设置 CellTree ListDataProvider 即可。
  2. 当您获取数据抛出RPC调用时,您只更新ListDataProvider,您的CellTree将被更新并自动重新呈现。
  3. 请阅读开发人员指南 - Cell Widgets的Providing Dynamic Data。 Heres快速报价:

      

    ListDataProvider将您的单元格窗口小部件绑定到java.util.List。对内部列表的任何更改(可通过getList()访问)都将反映在视图中。视图在当前事件块的末尾更新,因此您可以进行多个同步更改,而不会导致多次刷新视图。

答案 1 :(得分:0)

使用ListDataProvider或AsyncDataProvider(如果您想用数据动态更新表而不是一次加载所有内容)将完全适合您。