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;
}
}
不知问题怎么解决????请教高手出招!!!!!!