2012-09-14 65 views
2

我有一個jqGrid的領域我決定像:的jqGrid傳遞價值,形成編輯

colModel: [ 
    ...., 
    {name:'Enabled',index:'Enabled',width:45,editable:true,edittype:'checkbox', 
     editoptions:{value:"1:0"}, 
     formatter: function (cellvalue, options, rowdata) { 
      if (cellvalue == 0) return "<span class='ui-icon ui-icon-close hidden-align' style='text-align: center'></span>"; 
      else return "<span class='ui-icon ui-icon-check hidden-align' style='text-align: center'></span>"; 
     },align:'center',formatoptions:{disabled:false}}, 
], 

這件事是因爲我把圖像在cellvalue,我怎麼能傳遞給表單編輯的值,使複選框當單元格值爲真時可以處於檢查狀態?

在此先感謝所有! 乾杯, 路易吉

回答

1

您可以使用

formatter: function (cellvalue, options, rowdata) { 
    if (cellvalue == 0) { 
     return "<span class=\"ui-icon ui-icon-close\"></span>"; 
    } else { 
     return "<span class=\"ui-icon ui-icon-check\"></span>"; 
    } 
}, 
edittype: 'checkbox', editoptions: {value: 
    "<span class=\"ui-icon ui-icon-check\"></span>:<span class=\"ui-icon ui-icon-close\"></span>"} 

或更好地使用沒有editoptions: { value: ...,但使用formatter有一個從內以下值:false0nooffundefined。見jqGrid的代碼

if(tmp.search(/(false|0|no|off|undefined)/i)<0 && tmp!=="") { 
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true); 
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie 
} else { 
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked", false); 
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked", false); //ie 
} 

的解釋the lines。例如格式化

formatter: function (cellvalue, options, rowdata) { 
    if (cellvalue == 0) { 
     return "<span class=\"ui-icon ui-icon-close\">0</span>"; 
    } else { 
     return "<span class=\"ui-icon ui-icon-check\">1</span>"; 
    } 
} 

(不editoptions: { value: ...)應該解決您的問題。