2016-04-14 7 views
-2

Я использую локальные данные. Значение Json находится в объекте lsm.jqGrid Не работает процесс сортировки не работает

Пробуйте сортировать в ранге и магазине. Оба поля не работают. Не удалось найти, почему он не работает.

Я следую за данным на сайте jqgrid. Необходимо отсортировать оба столбца по возрастанию и убыванию.

Нужна помощь в разрешении проблемы.

$("#jqGrid-listofStoresMarked").jqGrid({ 
       datatype: "local", 
       data: lsm, 
       height: 250, 
       colModel: [ 
         { 
          label: 'Rank #', 
          name: 'rank', 
          width: 3, 
          align: 'left', 
          sorttype:'integer' 
         }, 
         { 
          label: 'Rank Update', 
          name: 'rank', 
          width: 5, 
          formatter: updateRank, 
          align: 'left' 
         }, 
        { 
          label: 'Store Id', 
          name: 'storeId', 
          width: 3, 
          index: 'storeId', 

          sorttype: function (cell, rowData) { 
           return (parseInt(rowData.storeId)); 
          } 
        }, 
        { 
          label: 'SKU & Pricing', 
          name: 'SKU_pricing', 
          width: 4, 
          formatter: checkValueSKU_pricing, 
          align: 'left' 
        }, 
        { 
          label: 'Future Pricing', 
          name: 'Future_pricing', 
          width: 4, 
         // sorttype:'integer', 
          formatter: checkValueFuture_pricing, 
          align: 'left' 
        }, 
        { 
         label: 'Promotions', 
         name: 'Promotions', 
         width: 4, 
         formatter: checkValuePromotions, 
         align: 'left' 
        }, 
        { 
         label: 'Offers', 
         name: 'Offers', 
         width: 3, 
         formatter: checkValueOffers, 
         align: 'left' 
        }, 
        { 
          label: 'Full Update Mark Delete', 
          name: 'storeId', 
          width: 6, 
          formatter: formatLinkMarkDelete, 
          align: 'left' 
        } 
       ], 

       viewrecords: true, // show the current page, data rang and total records on the toolbar 
       height: 300, 
       rowNum: 8, 
       loadonce: true, 
       sortname: 'storeId', 
       sortorder: "desc", 
       pager: "#jqGridPager-listofStoresMarked" 
      }); 
+0

Вы уже задали этот вопрос, но вы не указали никаких дополнительных сведений. Http://stackoverflow.com/questions/36635756/jqgrid-sorting-not-working-properly – Goose

+0

Я уже удаляю этот пост. –

+0

Не могли бы вы предоставить некоторые ** тестовые данные ** ('lsm') с по крайней мере двумя элементами, которые могут быть использованы для воспроизведения проблемы? Какую версию jqGrid вы используете и из которой вилка jqGrid ([free jqGrid] (https://github.com/free-jqgrid/jqGrid), коммерческая [Guriddo jqGrid JS] (http://guriddo.net/?page_id = 103334) или старый jqGrid в версии <= 4.7)? Кроме того, вы используете в коде некоторые пользовательские форматирования (почти во всех столбцах). Не могли бы вы также включить код форматировщиков? Это позволяет воспроизвести описанную вами проблему. – Oleg

ответ

0

Прежде всего, вы должны исправить ошибки в коде. Объект

{ 
    height: 250, 
    height: 300 
} 

Точно так же вы никогда не должны указать те же вариант дважды.

Еще одна важная ошибка в вашем коде: вы указали несколько столбцов с тем же свойством name еще раз (посмотрите на два столбца с name: 'rank' и два столбца с name: 'storeId').

Следующая проблема. Если вы определили пользовательский форматтер (checkValueSKU_pricing, checkValueFuture_pricing, checkValuePromotions, checkValueOffers, formatLinkMarkDelete), вы также должны определить unformatter (см. Описание unformat callback here).

Короткие дополнительные замечания о вариантах, которые вы используете: опция loadonce: true не имеет смысла (она будет игнорироваться) в случае использования datatype: "local". Свойства align: 'left' из colModel по умолчанию и могут быть пропущены. Свойства index также могут быть удалены (см. index: 'storeId'). sorttype, определенные как функции (см. name: 'storeId'), делают то же, что и sorttype: "integer". Предпочтительными являются предопределенные свойства sorttype.

Окончательное замечание: если вы сообщить о проблеме, вы должны размещать более полный код (см много пользовательских форматтеров, которые вы используете) и некоторые тестовые данные (по крайней мере, два элемента из lsm массива, которые вы используете в качестве значения data параметр). Вы должны всегда напишите, какую версию jqGrid вы используете, и из какой вилки jqGrid (free jqGrid, коммерческий Guriddo jqGrid JS или старый jqGrid в версии < = 4.7). Я рекомендую использовать текущую версию бесплатного jqGrid (в настоящее время версия 4.13.2).

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