CellTree有一个接受TreeModel参数的构造函数。我不能通过setter来设置树模型。
我通过异步rpc调用获取树的数据,该调用在创建与保存树的视图对应的呈现器时触发,但这意味着视图也被创建,而没有用必要的数据填充树模型。
当数据返回时,我在模型上设置了根节点,但是模型已经在没有根的情况下创建了,所以它没有得到更新…
我选择了这条路线,因为我想更好地控制树节点的渲染。
两个可能的解决方案…
-
保持视图的渲染,直到取回回来,这样当树被创建时,模型就有了所有的信息-我怎么做?
-
一旦数据返回,并在模型上设置,告诉树更新…我该怎么做呢?
- 当你建立一个视图时,你必须设置你的CellTree over ListDataProvider 。
- 当你得到你的数据抛出RPC调用你只更新ListDataProvider,你的CellTree将被更新并自动重新渲染。
请阅读提供动态数据的开发人员指南-单元格小部件。这里是快速引用:
ListDataProvider将单元格小部件绑定到java.util.List。对内部列表的任何更改(可以通过getList()访问)都将反映在视图中。视图在当前事件块的末尾更新,因此您可以进行多个同步更改,而无需对视图进行多次刷新。
使用ListDataProvider或AsyncDataProvider(如果你想用数据动态更新表,而不是一次加载所有内容)将完美地为你工作。