在编辑单元格时,在编辑单元格时是否有任何方式更改单元格的编辑类型(如果满足某些条件)?在jqGrid中更改单元格的编辑类型
Supposse我有一个colModel,它有一个字段“Description”,默认情况下它将被视为一个输入。当我点击编辑该单元格时,输入将与当前单元格值一起显示。现在,如果满足某些条件,我希望当用户单击该单元格进行编辑时,将显示一个选择而不是输入。
我试过使用setColProp并更改edittype和editoptions,但是我没有在正确的位置(我在beforeCellEdit事件中做过),或者它不能以这种方式工作。
谢谢。
UPD:
我曾尝试使用您所提出的策略,但我的手机仍然显示输入后,我调用setColProp
方法:
var originalEditCell = $.fn.jqGrid.editCell;
$.jgrid.extend({
editCell: function (iRow, iCol, isStartEditing) {
if (iCol === 4 && classEditMode) {
$(this).jqGrid('setColProp', "ColName4", { edittype: "text" });
var cell = $(this).find('tr:eq(' + iRow + ')').find('td[aria-describedby="gridFix_Description"]');
cell.find('select').remove();
cell.append($('<input />').attr('id', iRow + '_Description')
.attr('name', 'Description')
.attr('role', 'textbox')
.width('98%')
.text(""));
}
return originalEditCell.call(this, iRow, iCol, isStartEditing);
}
});
网格仍然会产生一个选择。任何想法为什么?
感谢
UPD2
对不起,我忘了包括在setColProp方法colname的正确的变量。我在帖子中纠正了这个问题,以便记录我如何解决这个问题,如果有人需要它。
谢谢。
检查更新。 – Heathcliff