-
FEATURED COMPONENTS
First time here? Check out the FAQ!
Hi, I have very simple problem hope someone can help me .
My controller
package fi.uwasa.netmes.zkossController; import java.util.List; import java.util.Map; import org.zkoss.zk.ui.event.CreateEvent; import org.zkoss.zk.ui.event.Event; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zul.Window; import fi.uwasa.netmes.bean.Site; import fi.uwasa.netmes.bean.User; import fi.uwasa.netmes.util.SpringUtil; public class EditUserController extends Window { private static final long serialVersionUID = 1L; private AnnotateDataBinder binder; private User user; private Site selectedSite; public Map<String, Object> getCreationArgsMap(Event event) { CreateEvent ce = (CreateEvent) event; return ce.getArg(); } public void onCreate(Event event) throws Exception { binder = (AnnotateDataBinder) this.getVariable("binder", false); Map<String, Object> args = getCreationArgsMap(event); this.setUser((User) args.get("user")); selectedSite=SpringUtil.getSiteService().getSites().get(0); binder.loadAll(); } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public List<Site> getAvailableSites() { return SpringUtil.getSiteService().getSites(); } public Site getSelectedSite() { return selectedSite; } public void setSelectedSite(Site selectedSite) { this.selectedSite = selectedSite; } }
My zul :
<?page title="NetMES" contentType="text/html;charset=UTF-8"?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" arg0="./editUserWin"?> <window id="editUserWin" border="normal" title="Edit User" width="400px" height="350px" style="padding-top:30px" use="fi.uwasa.netmes.zkossController.EditUserController"> <vbox style="padding-top:5%" width="100%" height="100%"> <div align="center" style="float: center" > <grid width="100%" height="100%" > <rows> <row zclass="none" style="padding-top:5px"> <div align="center" style="float: right"> <label value="Email" id="lbEmail" /> </div> <div align="center" style="float: left; padding-left:10px"> <textbox id="tbEmail" value="@{editUserWin.selectedSite.name}"/> </div> </row> <row zclass="none" style="padding-top:5px"> <div align="right" style="float: right"> <label value="Site" id="lbSite" /> </div> <div align="center" style="float: left; padding-left:10px"> <combobox id="cbSite" model="@{editUserWin.availableSites}" selectedItem="@{editUserWin.selectedSite}"> <comboitem self="@{each=site}" label="@{site.name}" value="@{site}" /> </combobox> </div> </row> </rows> </grid> </div> </vbox> </window>
In the availableSites list there are many item. I just want to pre-set the value for the combo box. However , still the combo box does not display this value. I am sure that the binding were done correctly as the textbox show the correct value of the item i want to set.
can someone shed some light . Thank you.
Asked: 2010-05-09 12:43:47 +0800
Seen: 542 times
Last updated: May 11 '10