2010-07-14 3 views
1

У меня есть сетка с некоторыми скрытыми данными, а также у меня есть некоторые пользовательские ссылки на каждую строку (например: «публиковать/отменить публикацию», «редактировать», «удалять»,). Когда я нажимаю ссылку «публиковать/отменить публикацию» в каждой строке, данные строки должны обновляться автоматически, а значения должны быть отправлены на сервер. После успешного представления строка сетки должна автоматически обновляться с новыми значениями. Как я могу достичь этой функциональности в описанном выше сценарии.jqGrid - как сохранить ячейку строки, нажав на ссылку

ПРИМЕЧАНИЕ. Когда я нажимаю на ссылку, строка никогда не должна превращаться в редактируемый режим.

ответ

2

Вы не написали, какой режим редактирования вы используете. Кажется, вы используете редактирование ячейки. Если вы используете режим редактирования ячейки, вы можете вместо этого использовать saveCell (см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing#methods). Если вы используете режим редактирования линии, вы можете использовать saveRow для сохранения данных (см. http://www.trirand.com/jqgridwiki/doku.php?id=wiki:inline_editing#saverow).

Чтобы отправить дополнительные данные, скрытые столбцы (если используется режим редактирования строки) на сервер, вы можете использовать следующие опции дополнительного столбца для скрытых столбцов:

editable: true, editrules: { edithidden: false } 

См http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options и Sending additional parameters to editurl on JQgrid.

Любая ячейка может иметь дополнительную класс «не редактируемые ячейки», чтобы запретить переключение режима редактирования в случае режима редактирования ячейки. Вы можете использовать параметр столбца classes, чтобы добавить этот класс в столбец ссылок.

+0

благодарит за ваш комментарий Олег. Я уже рассмотрел описанные выше сценарии, но мой вопрос заключается в том, что когда я нажимаю ссылку «публиковать/отменить публикацию», строка или ячейка никогда не должны превращаться в редактируемый режим. Он должен просто выполнить некоторую операцию с базой и обновить конкретную сетку строк. Например: Предположим, у меня есть сетка, содержащая данные пользователя, и я хочу отключить пользователя из списка. В то время я нажимаю ссылку «publish/unpublish», строка или ячейка никогда не должны превращаться в редактируемый режим (т. Е. Элементы ввода), а просто должны отправить некоторые данные на сервер, где он обновит статус пользователя. – karuh24

+0

Карух, вы не пишете, какой режим редактирования вы используете. Это режим редактирования ячейки? Тогда установка в класс «not-editable-cell» в столбец со ссылкой «publish/unpublish» никогда не превратится в редактируемый в ячейке режим. Вы также можете использовать событие 'beforeSelectRow' и возвращать' false', если вам не нужно выбирать строку. Вероятно, http://www.trirand.com/blog/?page_id=393/help/tabletogrid-selcol-with-input-fields/ поможет вам. Если у вас возникла проблема, отправьте пример кода, чтобы сделать все более понятным. – Oleg

+0

Олег, я решил эту проблему по-другому. Когда щелкнули ссылку, я вызову функцию js, используя опцию «форматирование». В этой функции я изменю значения ячеек, используя метод setRowData (например, изменение клиента). Эта функция вернет true, если строка обновлена ​​правильно. Если это правда, я вызову действие ajax, где он будет выполнять некоторую операцию на бэкэнд. Таким образом, я могу легко управлять значениями строк динамически, нажав на ссылку (т. Е. Без изменения строки в редактируемом режиме). – karuh24

Смежные вопросы