Lib.Web.Mvc.JQuery.JqGrid - разрешить редактирование столбца ТОЛЬКО при добавлении, но не при "редактировании"
У меня есть столбец, который является одновременно бизнес-ключом и первичным ключом для конкретной сущности в существующей, плохо спроектированной схеме. Невозможно вносить изменения в эту клавишу, поскольку они не будут каскадироваться как есть.
Поэтому мне нужно сделать колонку редактируемой только при создании, но не при редактировании. Я не смог найти ничего в документации для jqGrid
или же Lib.Web.Mvc.JQuery.JqGrid
это говорит о том, что это встроенная функция, но если это так, я бы хотел узнать об этом.
Если нет, то каков будет лучший способ для достижения этой функциональности? Должен ли я сделать столбец редактируемым, но добавить собственный (на стороне клиента) форматер? Есть ли другой способ?
Примечание: это не дубликат jqGrid, нужно поле, редактируемое в диалоговом окне "Добавить", но не в диалоговом окне "Редактировать", поскольку оно относится конкретно к Lib.Web.Mvc.JQuery.JqGrid
и не библиотека JavaScript в целом.
Вся помощь приветствуется.
1 ответ
Вот как я делаю это сейчас. Мне это кажется "неправильным" и уродливым, но это работает.
function fnSetAccessGroupCodeReadOnly() {
$("#AccessGroupCode").attr("readonly", "readonly");
}
function fnUnSetAccessGroupCodeReadOnly() {
$("#AccessGroupCode").removeAttr("readonly");
}
и в помощнике, в навигаторе действий для редактирования:
new JqGridNavigatorEditActionOptions()
{
// Edit Options
Url = Url.Action("EditPartnerAccessGroup"),
MethodType = JqGridMethodTypes.Post,
AfterShowForm = "fnSetAccessGroupCodeReadOnly",
CloseAfterEdit = true
},