Как показать все строки в jqGrid?

Я предпочитаю конструктора копии клону. Намерение более ясно.

47
задан Justin Ethier 17 August 2011 в 19:02
поделиться

4 ответа

В последней версии jqGrid вы можете установить rowNum равным -1 , чтобы сетка всегда отображала все строки:

rowNum: -1

См. Последнюю версию документации jqGrid здесь .

В частности:

Устанавливает, сколько записей мы хотим просмотреть в сетке. Этот параметр передается URL-адресу для использования серверной подпрограммой, получающей данные. Обратите внимание: если вы установите для этого параметра значение 10 (т.е. получите 10 записей), а ваш сервер вернет 15, то будут загружены только 10 записей. Установите для этого параметра значение -1 (неограниченно), чтобы отключить эту проверку.


Обновление

К сожалению, это поведение было нарушено в jqGrid 3.6.3. Согласно сообщению Тони :

Да, это правда. Причина в новом свитке: 1. В будущем мы исправим это поведение.

Таким образом, разработчики jqGrid знают об этой проблеме и, очевидно, планируют исправить ее в следующем выпуске. К сожалению, этот пост был написан более года назад ...

На данный момент все, что я могу порекомендовать, - это установить для rowNum очень большое число, чтобы имитировать поведение -1 .


Вы также можете попробовать решение whatispunk, приведенное ниже, с использованием rowNum: '' . Однако я попробовал это на сетке, содержащей локальные данные ( loadonce: true ). При попытке отсортировать строки все локальные данные сетки исчезнут. Таким образом, это решение, похоже, не работает для сеток с локальными данными, если этот дефект не был исправлен в более поздней версии jqGrid (я тестировал его на jqGrid 3.8.2). Если у вас есть отзывы, оставьте комментарий ниже!


Обновление - 16 апреля 2014 г.

Согласно команде jqGrid теперь это исправлено:

Я добавил поддержку для установки различных значений отображения на пейджере выберите поле, включая -1 для всех.

Однако у меня не было возможности проверить исправление. Предположительно это изменение будет в следующем выпуске после jqGrid 4.6.0.

Я добавил поддержку для установки различных отображаемых значений в окне выбора пейджера, включая -1 для всех.

У меня не было возможности протестировать исправление. Предположительно это изменение будет в следующем выпуске после jqGrid 4.6.0.

Я добавил поддержку для установки различных отображаемых значений в поле выбора пейджера, включая -1 для всех.

У меня не было возможности протестировать исправление. Предположительно это изменение будет в следующем выпуске после jqGrid 4.6.0.

53
ответ дан 26 November 2019 в 19:45
поделиться

Вы также можете перейти в jquery.jqGrid.js и изменить "rowNum: 20" на "rowNum: Some-Really-Large-Number". Когда вы определяете свой jqGrid, не указывайте rowNum. Затем верните весь набор данных обратно в jqGrid.

0
ответ дан 26 November 2019 в 19:45
поделиться

, если вы вообще не хотите использовать разбиение на страницы, измените код на стороне сервера, чтобы просто возвращать все строки. вообще не используйте параметр rows.

если вы хотите иметь список строк, но также имеете возможность показать все, сделайте что-то подобное в свойствах сетки

jQuery("#statement_mods").jqGrid({
  rowList:['ALL',30,50,100,200]
});

, а затем в коде на стороне сервера убедитесь, что вы игнорируете параметр rows, если GET ['rows'] = 'ALL'

4
ответ дан 26 November 2019 в 19:45
поделиться

jqgrid (в любом случае 3.5), похоже, не имеет элегантного встроенного способа сделать это. Лучшее, что я нашел до сих пор, - это добавить к параметрам вашей сетки что-то вроде следующего:

rowList:[10,20,30,100000000],
loadComplete: function() {
    $("option[value=100000000]").text('All');
},

Где 100000000 - это произвольно большее число, чем максимальное количество строк, которое вы когда-либо вернете, а строка option [value =] - так что ваш пользовательский интерфейс выглядит немного лучше. Дженки, но у меня работает.

9
ответ дан 26 November 2019 в 19:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: