Dorado7是基于Extjs4的,D7的checkbox只能表示一个数值的2个状态(true、false但是有三种状态可选的:半选中状态)。
如果你想实现以下功能,那原始组件肯定实现不了:
你需要建一个container,然后包含多个checkbox,如下图:
要在DataSet的loaddata里设置checkbox的显示
var mzdyid=ds.getData("#").get("mzdyid");
var comboxcount=4;
for(var i=1;i<=comboxcount;i++){
view.get("#combox"+i).set("checked",false);
}
console.log(mzdyid);
if(mzdyid!=null){
var mzdyids=mzdyid.split(",");
for(var i=0;i<mzdyids.length;i++){
view.get("#combox"+mzdyids[i]).set("checked",true);
}
}
最后,在数据提交时,也要记得把checkbox的值传进dataset
var comboxcount=4;
for(var i=1;i<=comboxcount;i++){
if(view.get("#combox"+i).get("checked")){
if(i<comboxcount-1){
sql=sql+i+",";
}else{
sql=sql+i;
}
}
}
if(sql!=entity.get("mzdyid")){
entity.set("mzdyid",sql);
self.execute();
}