0

我是 ZK 的新手。我有一个以列表为模型的列表框。当我收到更新事件时,我会更新模型中的信息,然后使用更新 UI

AnnotateDataBinder binder = (AnnotateDataBinder) vesselsList.getPage().getAttribute("binder");
if (binder != null) {
      binder.loadAll();   
}

问题是更新后,在以下代码中

List updatedObjects = object.getItems();
for (Object obj : updatedObjects) {
Listitem data =  (Listitem) obj;              
Object ob =  data.getValue();

data.getValue() 始终为空。我已经在互联网上搜索了很多天,我发现绑定器在加载所有内容后会启动一个 onInitRenderLater 事件,但我无法让它工作。

我的意图是如果我在更新之前选择了一个项目,我希望它保持选中状态并且 binder.loadAll()。

4

2 回答 2

0

您是否使用带注释的数据绑定为您的项目设置了值?

<listitem value="@{bean.data}" > ....  </listitem>
于 2011-10-16T07:17:35.923 回答
0

在祖尔我做了

<listbox model="@{objects_model}" id="objectsList"

在Java中,我调用了该方法

public void onAfterRender$objectsList(Event event) {
    // select item here after the listbox has been rendered
}

它成功了

于 2011-10-26T09:56:15.697 回答