jqGrid - запуск reloadGrid внутри метода afterSaveCell - PullRequest
0 голосов
/ 06 июля 2011

Я пытаюсь перезагрузить свою сетку после изменения ячейки, но я получаю это сообщение об ошибке: «Ошибка в запросе ajax».

Вот моя функция:

afterSaveCell: function(rowid, name, val, iRow, iCol){  
    //... do some stuff ...  
    //save cell in the database  
    //... some more stuff ...  
    $("#grid").trigger("reloadGrid")  
}

Эта сеткапостроен на сервере (я знаю свои столбцы только во время выполнения), поэтому я думаю, что я должен запустить функцию дырки $.ajax() (в которой все определения сетки).Это правильно?Как я могу это сделать?

1 Ответ

1 голос
/ 11 июля 2011

Я не нашел способ сделать это. Поэтому я выполнил запрос ajax (который сохраняет значения в базе данных) внутри события afterSubmitCell, а затем вычислил остальные поля внутри afterSaveCell (используя javascript и множество вызовов getCell и setCell).

Фактически это оказалось лучшим способом сделать это, поскольку пользователю не нужно ждать более 1 секунды, чтобы увидеть обновленные значения. Также документация события afterSaveCell гласит:

Применяется только к ячейке, доступной для редактирования; это событие возникает после того, как ячейка была успешно сохранена. Это идеальное место для изменения другого контента.

Недостатком этого пути является то, что я продублировал логику для вычисления некоторых столбцов сетки (на стороне сервера в C # и на стороне клиента в javascript)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...