Сортировка по столбцу JQGrid работает только после разбиения на страницы - PullRequest
0 голосов
/ 16 апреля 2020

У меня проблема с jqgrid, я хочу, чтобы строки в моей сетке упорядочивались по дате из самых последних. Я установил в опциях сетки столбец и порядок, но когда данные загружены, отображаются по мере их загрузки. Упорядочение работает только после того, как я нажму на столбцы или если я использую нумерацию страниц, например, если я go на страницу 2 и go на страницу 1, или если я увеличу количество строк на странице, они будут заказал правильно. Это столбец Дата, по которому я хочу упорядочить данные:

{
  name: 'DatetimeInserted',
  index: 'DatetimeInserted',
  width: "130",
  sortable: true, search: false,
  sorttype: "datetime",
  datefmt: 'd/m/Y h:i A',
  width: 200
},

Это параметры сортировки

sortname: "DatetimeInserted",
sortable: true,
sortorder: 'desc',

Данные передаются в формате json в инициализатор jqgrid Query(gridSelector).jqGrid({ loadui: "block", data: jsonData.rows, datatype: "local",

Это пример JSON данных, возвращаемых с сервера

{"rows":[{"Id":37,"CustomerId":126,"CustomerType":2,"SiteId":1,"DatetimeInserted":"2019-12-10T15:25:00","ValoSource":1,"ChatId":"","EmailInboundId":107,"WebPageUrl":"","WebPageTitle":"","IpAddress":"10.75.148.72","TicketId":"PNG00000258","RequestId":249,"AgentName":"Admin Admin","ChatState":""},{"Id":44,"CustomerId":126,"CustomerType":2,"SiteId":1,"DatetimeInserted":"2019-12-13T08:34:00","ValoSource":1,"ChatId":"","EmailInboundId":114,"WebPageUrl":"","WebPageTitle":"","IpAddress":"10.75.148.73","TicketId":"PNG00000334","RequestId":325,"AgentName":"Admin Admin","ChatState":""},{"Id":45,"CustomerId":126,"CustomerType":2,"SiteId":1,"DatetimeInserted":"2019-12-13T11:25:00","ValoSource":1,"ChatId":"","EmailInboundId":115,"WebPageUrl":"","WebPageTitle":"","IpAddress":"10.75.148.71","TicketId":"PNG00000335","RequestId":326,"AgentName":"Admin Admin","ChatState":""}]}

Чего мне не хватает? Спасибо

РЕДАКТИРОВАТЬ: я пытался вызвать trigger("reloadGrid") в loadComplete событие, но это не работает

1 Ответ

0 голосов
/ 17 апреля 2020

Я нашел обходной путь, заставляющий клик по первому столбцу вручную после вызова метода, который инициализирует сетку, но я не удовлетворен этим решением $("#jqgh_DatetimeInserted").trigger("click"); $("#jqgh_DatetimeInserted").trigger("click");

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