Выберите список элементов в ZK Framework

У меня есть этот код в ZK:

<zk xmlns="http://www.zkoss.org/2005/zul">    

 <window id="CreateList" border="normal" mode="modal" width="320px"
            apply="org.zkoss.bind.BindComposer"
            viewModel="@id('vm') @init('UserMno')">
    <label value="First Name"></label>
    <listbox model="@bind(vm.allMno)" checkmark="true" multiple="true" selectedItem="@bind(vm.mnoList)"/>
    <button id="closeBtn" hflex="1" label="close" onClick="CreateList.detach()" />
</window>

</zk>

И идея в том, что у меня есть список с пользователями, и если щелкнуть пользователя, у него есть коллекция Mno, и когда я открываю новую страницу, все мои Mno должны быть загружены в список, но Mno пользователя должен быть проверенным

И у меня в Java класс с моей viewModel, и это:

public class UserMno {

Collection<String> mnoList;
Collection<String> allMno = MnoDAO.getAllMnosByName();

public Collection<String> getMnoList() {
    return mnoList;
}

public void setMnoList(Collection<String> mnoList) {
    this.mnoList = mnoList;
}

public Collection<String> getAllMno() {
    return allMno;
}

public void setAllMno(Collection<String> allMno) {
    this.allMno = allMno;
}


@AfterCompose
public void initSetup(@ExecutionArgParam("mnoList") Collection<String> mnoList) {
    this.mnoList=mnoList;
}


}

И Java, где я передаю пользователю:

@Command
public void showModal(@BindingParam("languageContributionStatus") UserStatus mnoList) {
    //create a window programmatically and use it as a modal dialog.
    final HashMap<String, Object> map = new HashMap<String, Object>();
    setPickedItemSet(mnoList.getMnoList());
    map.put("mnoList", mnoList.getMnoList());
        win = (Window) Executions.createComponents("/com.users/CreateMnosUser.zul", null, map);
        win.doModal();

}

UserStatus - это класс с коллекцией Mno, и когда я выбираю пользователя, мой пользователь: mnoList.

Тогда идея заключается в следующем:

У меня есть список пользователей на странице, и мне нужно загрузить страницу, и на этой странице мне нужно загрузить список, который пользователь mno, который пользователь связал.

Но мой список никогда не загружает мою коллекцию выбранным предметом. И я не знаю, что случилось =(.

Кто-нибудь может мне помочь?

1 ответ

Решение

Как вы установили multiple="true" вам нужно использовать selectedItems (с) не selectedItem,

Также я считаю, что вам нужно инициировать вашу коллекцию mnoList:

Collection<String> mnoList = new HashSet<String>();

Другие вопросы по тегам