Как удалить встроенное действие удаления в JQGrid
Я пытался изменить пример из этого вопроса. Пользовательское действие jQGrid после публикации http://ok-soft-gmbh.com/jqGrid/TestSamle/Admin1.htm для удаления действия удаления следующим образом:
ondblClickRow: function (id, ri, ci) {
//...
$("div.ui-inline-edit", tr).hide();
//...
},
onSelectRow: function (id) {
//...
$("div.ui-inline-edit", tr).show();
//...
}
loadComplete: function () {
$("div.ui-inline-del", tr).hide();
}
Но не помогает.
Любые идеи, как я могу это сделать?
3 ответа
Решение
Мне кажется, что сначала вы должны скрыть все значки "del" внутри loadComplete
а затем добавить afterSave
а также afterRestore
собственность на formatoptions
из actions
форматировщик:
formatter: 'actions',
formatoptions: {
keys: true, // we want use [Enter] key to save the row and [Esc] to cancel editing
afterSave: hideDelIcon,
afterRestore: hideDelIcon
}
где
var hideDelIcon = function(rowid) {
setTimeout(function() {
$("tr#"+$.jgrid.jqID(rowid)+ " div.ui-inline-del").hide();
},50);
};
Смотрите модифицированный демо здесь.
Как насчет форматирования: {..., delbutton: false,...}?
Вы можете добавить это:
$('.ui-inline-del').each(function(index) {
$(this).html('');
});
or this:
$('.ui-inline-del').each(function(index) {
$(this).hide();
});
в конце loadComplete: function () {
также изменить
.jqGrid('navGrid', '#Pager1', { add: true, edit: false }, {}, {},
myDelOptions, { multipleSearch: true, overlay: false });
чтобы:
.jqGrid('navGrid', '#Pager1', { add: true, edit: false, del:false }, {}, {},
myDelOptions, { multipleSearch: true, overlay: false });
если вы хотите удалить опцию удаления строки в нижнем колонтитуле