ZK Client Programming, 在客户端编程.触发客户端的Checkbox的onCheck事件从而选中Checkbox,?而在后台绑定类中 获取不到客户端的选中状态 ?打印出False;找解决方案!
?
XML代码 <?xml version="1.0" encoding="utf-8"?> <?page id="authorityPage"?> <?xel-method prefix="c" name="hasPermission" class="com.linktel.linkFax.web.zk.util.AuthorityTools" signature="com.linktel.linkFax.web.zk.util.AuthorityTools hasPermission(java.lang.String)"?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./authorityWin"?> <window id="authorityWin" use="com.linktel.linkFax.web.zk.controller.AuthorityController" width="100%" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:n="http://www.zkoss.org/2005/zk/native" xmlns="http://www.zkoss.org/2005/zul" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd" xmlns:w="http://www.zkoss.org/2005/zk/client"> <grid id="grid" fixedLayout="true"> <columns> <column> <checkbox w:onCheck="jq(@checkbox,this).setChecked(true)"></checkbox> <toolbarbutton forward="onAuthorizeRole" image="images/apply.gif"></toolbarbutton> </column> </columns> <rows> </rows> </grid> </window>
?
?
Java代码
?
?
package com.linktel.linkFax.web.zk.controller; import java.awt.Checkbox; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.zkoss.zk.ui.Components; import org.zkoss.zk.ui.event.CheckEvent; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; import org.zkoss.zk.ui.ext.AfterCompose; import org.zkoss.zkplus.databind.AnnotateDataBinder; import org.zkoss.zkplus.spring.SpringUtil; import org.zkoss.zul.Window; import org.zkoss.zul.api.Combobox; import org.zkoss.zul.api.Div; import org.zkoss.zul.api.Grid; import org.zkoss.zul.api.Label; import org.zkoss.zul.api.Row; import org.zkoss.zul.api.Rows; import com.linktel.linkFax.domain.Authority; import com.linktel.linkFax.domain.Role; import com.linktel.linkFax.service.AuthorityService; import com.linktel.linkFax.service.RoleService; import com.linktel.linkFax.web.zk.util.ZkUtils; public class AuthorityController extends Window implements AfterCompose { /** * */ private static final long serialVersionUID = 1L; protected Grid grid; @Override public void afterCompose() { Components.wireVariables(this, this); Components.addForwards(this, this); init(); } public void onCreate() { binder = (AnnotateDataBinder) this.getAttribute("binder", true); } public void onAuthorizeRole(Event event){ Rows rows= grid.getRowsApi(); org.zkoss.zul.api.Checkbox chk= (org.zkoss.zul.Checkbox) rows.getFirstChild(); System.out.println(chk.isChecked());//打印出客户端选中的状态true or false; }
}
?
?
?? ?不知问题怎么解决????请教高手出招!!!!!!
?
?
?
1 楼
sunflowers
2010-07-06
