2012-01-26 4 views
1

Я использую опцию loadonce с jqGrid для извлечения данных из базы данных. Количество записей не слишком велико (пара сотен), но слишком большое, чтобы увидеть на весь экран. Как и я должен использовать разбивку на страницы. Как я могу перебирать все записи, которые находятся на клиенте? Я знаю, что могу использовать getDataIDs, но это дает мне только все записи, которые есть на экране за один раз. Я посмотрел, но я еще не нашел способ увидеть все данные, кроме как на стороне сервера.Как перебрать все элементы в кеше jqGrid

ответ

1

Вы можете получить все локальные данные от кода, как

var gridData = $("#grid").jqGrid('getGridParam', 'data'); 

Чтобы получить все идентификаторы строк и соответствующие индексы в gridData массиве можно использовать

var idsToDataIndexes = $("#grid").jqGrid('getGridParam', '_index'); 

идентификаторов сетью будут свойства idsToDataIndexes (перечислены for (var id in idsToDataIndexes)), а значениями являются индексы в массиве gridData.

+0

можно перебирать данные следующим образом: for (var i in gridData) {...} без idsToDataIndexes? – kozla13

+0

@ kozla13: Если вам нужны * только данные, без его rowid *, вы можете выполнить итерацию по массиву 'gridData'. Тем не менее использование 'for (var i в gridData) {...}' было бы очень плохо. JavaScript имеет свои правила и наследование объектов. Вы должны использовать 'var i, l = gridData.length; для (i = 0; i Oleg

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