如何在JQGrid的行编辑中禁用某些单元格的编辑?
当我点击我的网格的任何一行时,所有可编辑列都变为可编辑。如何在JQGrid的行编辑中禁用某些单元格的编辑?
我希望一些列可以分别在每一行上编辑。
Column 1, Column 2, Column 3
ROW Number 1 - editable, non-editable, non-editable
ROW Number 2 - non-editable, editable, non-editable
ROW Number 3 - editable, non-editable, non-editable
由于提前
如果使用inline editing mode,想决定动态该行的细胞将可编辑例如基于对含有细胞可以在方式做到这一点,其我描述了here。你可以用另一种方法也这样做:
$(this).jqGrid('setColProp', 'YouColumnName', {editable:false});
所以,你应该只设置editable
到false
或true
之前调用editRow方法。通过这种方式你可以实现你想要的任何逻辑。
UPDATE:Free jqGrid允许将editable
定义为回调函数。见the wiki article。它允许在某些行中使列可编辑,并为其他行保留不可编辑。
我也有类似的规定,只是扩大什么Oleg在他的答案已经提到:
//get colModel properties
var cm = jQuery("#grid").jqGrid('getColProp','myColumn');
//some condition to enable or disable editing
cm.editable = false;
//always call editRow after changing editable property
jQuery('#grid').jqGrid('editRow', rowId, {});
//set default editable option
cm.editable = true;
干杯:)
为什么你不要't call'jQuery('#grid')。jqGrid('editRow',rowId,{});'在最后设置'cm.editable = true'后? – HeyJude
因为这会将单元格设置为可再次编辑。这里你要做的是让一个特定的单元有条件地不可编辑,但其余的列保持可编辑。 'cm.editable = true;'是在再次调用editRow时将col模型设置回可编辑状态。 –
好,所以,我可以连续检查单元格的值。然后使其可编辑:false。所以它变为不可编辑的选定的行右.. ..? –
@stacktrace:'editRow'方法测试哪些列可编辑**此刻**。它创建''或'
好的。得到它了。谢谢。 –