jqGrid порядок сортировки по умолчанию? - PullRequest
16 голосов
/ 16 сентября 2010

Похоже, что свойства jqGrid sortname и sortorder на самом деле не вызывают сортировку вашего набора данных - они просто вызывают отображение стрелок вверх / вниз.

Как вы можете получить набор данных для сортировки при загрузке?

Сортировка работает хорошо, когда вы щелкаете заголовки столбцов, но я хочу, чтобы сортировка по умолчанию применялась к нашим данным.


Обновление: при нажатии следующей кнопки следующий запрос сортирует данные.

Это вызывает слегка запутанный пользовательский интерфейс, когда данные загружаются со стрелкой вниз на столбце - и данные не сортируются - но при нажатии кнопки «Далее» данные теперь сортируются.

Кажется, если я опускаю sortname и sortorder, jqGrid по-прежнему отображает значок сортировки - странно.

Ответы [ 6 ]

14 голосов
/ 25 мая 2011

Возможно, вы даете один и тот же параметр дважды (очень распространенная ошибка при программировании копирования-вставки :) без обид.Я тоже так делаю.)

Скажем, вы хотите отсортировать по открыванию по убыванию

..... options .... 
sortname: "OpeningDate",
sortorder: "desc",  <---- assume you write this line and expect to sort descending
..... some other options .... 
sortorder: "asc",   <---- and this line may also be there but you may not be noticing it 
..... and other options .... 

второй параметр сортировки переопределяет первый, и вы не сможете отсортировать по убыванию

7 голосов
/ 27 мая 2013

Я столкнулся с той же проблемой. Используйте это после загрузки данных :

$("#tableId").jqGrid('sortGrid','colName', false, 'asc');

или

$("#tableId").sortGrid('colName', false, 'asc');

Сетка перезагружается, если для логического значения установлено значение true. Последний параметр может быть 'asc' / 'desc', в зависимости от порядка сортировки.

2 голосов
/ 11 октября 2010

Возможно, вы допустили ту же ошибку, что и я, которая заключалась в том, чтобы основывать мой клиентский скрипт на старом примере, в котором вместо «sortname» использовалось «sortName»

2 голосов
/ 17 сентября 2010

Попробуйте использовать

$("#list").jqGrid('setGridParam',{ page: 1 }).trigger("reloadGrid");

или

$("#list").jqGrid('setGridParam',{ rowNum: 10 }).trigger("reloadGrid");

(замените 10 на значение, которое вы определяете как параметр rowNum). Если это не поможет, оставьте свой код в своем вопросе.

1 голос
/ 11 октября 2010

проблема в том (я считаю), что параметры sortName и sidx читаются при запросе первого набора данных

0 голосов
/ 11 октября 2010

/ Cheesy Answer Alert

Почему бы не скрыть отсортированный значок при первой загрузке? В первый раз кто-то сортирует, показывает это и все работает как задумано. Похоже, что вы намеревались загружать несортированные, пока пользователь не выберет столбец для сортировки.

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