我有一個jQGrid的列,我只想在添加新行時可編輯。jQGrid,如何使添加對話框中可編輯列,但不在(內嵌)編輯
我見過如何做到這一點的例子,當編輯和添加都在對話框中發生,但有沒有辦法做到這一點與聯機編輯?
我試着在beforeShowForm中使用grid.setColProp():,但是這不起作用(列保持只讀狀態,不存在於添加對話框中)。基於對話框列
示例啓用/禁用:
http://www.ok-soft-gmbh.com/jqGrid/CustomFormEdit.htm
我有一個jQGrid的列,我只想在添加新行時可編輯。jQGrid,如何使添加對話框中可編輯列,但不在(內嵌)編輯
我見過如何做到這一點的例子,當編輯和添加都在對話框中發生,但有沒有辦法做到這一點與聯機編輯?
我試着在beforeShowForm中使用grid.setColProp():,但是這不起作用(列保持只讀狀態,不存在於添加對話框中)。基於對話框列
示例啓用/禁用:
http://www.ok-soft-gmbh.com/jqGrid/CustomFormEdit.htm
因爲你從我的舊的答案(this和this)我覺得我也應該回答你的問題使用的例子。
在old example所有可在添加或編輯對話框中修改的字段的屬性爲editable:true
。只應在「添加」對話框中顯示的字段將隱藏在beforeShowForm事件句柄的內部。以同樣的方式,我們可以在editRow方法的調用之前臨時開關某些字段editable:false
和重置回editable:true
通話後立即:
onSelectRow: function(id) {
if (id && id !== lastSel) {
grid.jqGrid('restoreRow',lastSel);
var cm = grid.jqGrid('getColProp','Name');
cm.editable = false;
grid.jqGrid('editRow', id, true, null, null, 'clientArray');
cm.editable = true;
lastSel = id;
}
}
你可以看到這個活here。
UPDATE:Free jqGrid允許將editable
定義爲回調函數。見the wiki article。它允許在某些行中使列可編輯,併爲其他行保留不可編輯。
傑出,感謝您的幫助奧列格! – David 2010-11-30 17:51:50