ZK устанавливает выбранный элемент после AnnotateDataBinder loadAll () - PullRequest
0 голосов
/ 12 октября 2011

Я новичок в ZK.У меня есть список со списком в качестве модели.Когда я получаю событие обновления, я обновляю информацию в модели, а затем обновляю пользовательский интерфейс, используя

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 () всегда имеет значение null.Я много дней искал в интернете и обнаружил, что связыватель запускает событие onInitRenderLater после загрузки всего, но мне не удается заставить его работать.

Мое намерение состоит в том, чтобы, если у меня был элемент, выбранный до обновления, я хочу, чтобы он оставался выбранным, а binder.loadAll ().

Ответы [ 2 ]

0 голосов
/ 26 октября 2011

В зул я сделал

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

и в Java я вызываю метод

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

сделал свое дело

0 голосов
/ 16 октября 2011

Установили ли вы значение для ваших товаров с аннотированной привязкой данных?

<listitem value="@{bean.data}" > ....  </listitem>
...