我有一个使用jqGrid的表,我需要在编辑行时根据行上的值无法编辑某些列。我知道如何避免根据单元格值编辑行,但在整个行级别,我不知道如何在列级别指定。这是双击我桌子的功能。
ondblClickRow: function(id){
var code = id.split("-")[0];
var status = id.split("-")[1];
if((code == "0" && status == "255") || (code == "1" && status == "0")
|| (code == "1" && status == "1")
|| (code == "2" && status == "255")){
return;
}else{
jQuery('#nameableSignalsListView').jqGrid('editRow',id, {
keys : true,
reloadAfterSubmit:true,
successfunc: function(response, postdata) {
var result = printErrors(response, false);
if(result === true) {
return true;
} else {
setTimeout(function() {
customAlert(result);
}, 200);
return false;
}
},
restoreAfterError: false,
url: appRootUrl + "rest/nameableSignals/update"
});
}
}
答案 0 :(得分:0)
我多次回答同一个问题。主要的理解问题是在初始化时editing: true
将读取列的editRow
属性。因此,您可以在调用editing
之前直接使用setColProp
方法设置editRow
属性的值,例如。通过这种方式,您可以实现所需的任何动态行为。
请参阅the answer,this one或this one。最后一个提供了使用formatter: "actions"
的内联编辑的解决方案。