Jqgrid различать в dataInit добавлять и редактировать формы

Как я могу различать событие dataInit, добавляю ли я новые данные или редактирую его?

Спасибо заранее.

Ответы

Ответ 1

Это хороший вопрос! +1 от меня для этого.

Нет прямого способа обнаружить внутри dataInit, вызвана ли она из формы "Добавить" или "Изменить". Точно так же, если вы используете несколько режимов редактирования (например, редактирование формы и inline редактирование) и несколько режимов поиска (диалог предварительного поиска и поиск панели инструментов) нет прямого способа определить, в каком месте используется элемент управления.

В качестве обходного пути вы можете использовать следующее. Вы можете определить переменную, которую вы можете установить в другом значении внутри события, которое будет вызываться в форме "Добавить" и "Изменить" до, будет вызываться dataInit. Чтобы сказать, что у вас не так большой выбор. Это событие

Я использовал свойство , чтобы быть уверенным, что при каждом открытии сетки добавления или редактирования созданная форма и dataInit.

В форма "Добавить" выглядит как

enter image description here

Здесь dataInit для "Notes" записывает только текст "в Add" в соответствующем элементе управления. "Inv. No" - это поле, в котором содержится идентификатор. Соответствующий элемент управления <input> формы "Добавить/редактировать" отключен. Поэтому пользователь не может вносить никаких изменений. В случае диалога "Добавить" метод $.jgrid.randId() будет использоваться для генерации нового уникального значения id.

Соответствующая форма редактирования выглядит как на рисунке ниже:

enter image description here