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();
}