Столбец сортировки Jqgrid - PullRequest
5 голосов
/ 01 марта 2012

Можно ли динамически сортировать один столбец jqGrid при нажатии кнопки вместо нажатия имени столбца?

Ответы [ 3 ]

8 голосов
/ 23 августа 2012

В четвертый раз еще удачливей! Использование true в третьем параметре обязательно перезагрузит сетку.

$('#grid').jqGrid('sortGrid', 'id', true, 'asc');

Если вы не используете true в третьем параметре, при первом выполнении порядок ('asc' или 'desc') не обновляется правильно.

8 голосов
/ 01 марта 2012

В событии нажатия кнопки установите столбец сортировки в постданных сетки, а затем вызовите перезагрузку в сетке

$('#mybutton').click(function() {
    $('#yourgrid').jqGrid('setGridParam', {sortname: 'yourColumn', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
});
3 голосов
/ 29 июня 2012

Возможное решение - но не очень:

$('#grid').jqGrid('setGridParam', {sortname: 'id', sortorder: 'asc'}).trigger('reloadGrid', [{page: 1}]);
$('#gbox_grid .s-ico').css('display','none');
$('#gbox_grid #jqgh_grid_id .s-ico').css('display','');
$('#gbox_grid #jqgh_grid_id .s-ico .ui-icon-triangle-1-s').removeClass('ui-state-disabled');

, как показано здесь

http://jsfiddle.net/qhYLT/


Другой способ программной сортировки по столбцу -указав порядок:

$('#grid').jqGrid('setGridParam', {sortorder: 'desc'});
$('#grid').jqGrid('sortGrid', 'id');

sortGrid запускает перезагрузку для вас.Это не было бы полным без демонстрации: http://jsfiddle.net/uTqD5/


В третий раз повезло!Недокументированная функция:

$('#grid').jqGrid('sortGrid', 'id', '', 'asc');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...