2016-12-21 2 views
2

Можно восстановить строку inlinenav jqgrid с моими собственными значениями ячеек (жестко закодированные значения), так как мы восстанавливаем строку с rowId как, $ (# grid). jqgrid ("restoreRow", rowId);Как восстановить строку со значениями ячейки в inlinenav jqgrid

У меня есть строка с тремя столбцами, я хочу восстановить свою строку с моими собственными данными ячейки. Есть ли способ сделать это?

Пожалуйста, помогите мне в этом. Благодарю.

ответ

1

jqGrid сохраняет текущее редактируемое значение в параметре savedRow. Во время работы restoreRow jqGrid использует значения: он вызывает setRowData с сохраненным значением.

Вы писали, что используете inlineNav. Это означает, что вы не вызываете метод restoreRowнапрямую. Вместо этого на jqGrid вызовы restoreRow, если пользователь выберет другую строку или нажмите Esc ключ. Чтобы иметь возможность изменять стандартное поведение restoreRow, вам необходимо использовать обратные вызовы/события, которые jqGrid вызывает/запускает во время обработки restoreRow. Таким образом, важно знать , какую версию jqGrid вы используете (можете использовать) и из какой вилки jqGrid, потому что набор обратных вызовов/событий и точное поведение зависят от используемой вилки и используемой версии. Я разрабатываю вилку free jqGrid и рекомендую вам ее использовать.

Метод restoreRow поддерживает beforeCancelRow и afterrestorefunc обратные вызовы, которые вы можете использовать для решения вашей проблемы. Вы можете изменить некоторые свойства savedRow внутри beforeCancelRow, чтобы решить вашу проблему. В качестве альтернативы вы можете просто сделать еще один вызов setRowData внутри afterrestorefunc, чтобы установить значение столбца восстановленной строки на значение, которое вы хотите иметь. Точное указание beforeCancelRow или afterrestorefunc обратных вызовов в inlineNav зависит от версии/fork jqGrid. Вы должны опубликовать эту информацию, если у вас возникнет проблема с реализацией, основанная на моем описании выше.

+0

Удивительные комментарии. Большое спасибо. Мой код в соответствии с ur sugesstion: $ ("# Mygrid"), jqgrid ("restoreRow", lastsel, {"afterrestorefunc": function (response) {$ ("# Mygrid"), jqgrid ('setRowData', lastsel, { Имя: «XXX», Возраст: «YYY», Пол: «ZZZ»}}}); Прекрасно работает – Kavitha

+0

@Kavitha: Добро пожаловать! – Oleg