Мое приложение снова и снова заполняет jqGrid результатами множества различных запросов, которые может сделать пользователь; запросы принимают форму: дайте мне заголовок, категорию документа, хиты, тип документа для всех документов, где документ содержит слово «x». Пользователь может сделать много таких (ajax) запросов один за другим: Выдать запрос. Прочитайте список заголовков, возвращенных базой данных. Поработай немного. Сделайте еще один такой запрос. И так далее, и так далее.
Я создаю сетку один раз, и когда вызов базы данных ajax возвращается с некоторыми данными, сетка сначала очищается, а затем повторно заполняется, например:
$("#titles-table").jqGrid('clearGridData');
.
.
. // loop through the data returned by the ajax database call
for (var i = 0 ...
{
row = ...
$("#titles-table").jqGrid('addRowData',i, row);
}
Но теперь, в версии 3.7, в сетке появилось новое свойство data, которое предположительно работает быстрее, чем addRowData. В примерах, демонстрирующих это новое свойство data, показано, как сетка заполняется по мере создания ее экземпляра (по мере определения colModel и т. д. и т. д.). Но если предположить, что сетка уже существует и будет удалена с помощью вызова clearGridData, есть ли способ установить свойство сетки data для повторного заполнения сетка? Что-то похожее на clearGridData, например:
$(#titles-table).jqGrid('setGridData', data);
Меня интересует более быстрый способ заполнения сетки. Firefox отображает сообщение «Сценарий занимает слишком много времени», когда в моей сетке 75 строк, но Chrome, Opera и Safari мгновенно справляются с этим объемом данных.