2016-04-14 44 views
-2

我正在使用本地數據。 Json值在lsm對象中。 Json值在lsm對象中。jqGrid不工作排序過程不起作用

嘗試在rank和storeId中進行排序。兩個字段都不起作用。 無法找到爲什麼它不工作。

我按照給定的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([免費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,),則應該定義非格式化程序(請參閱unformat回調here的說明)。

關於您使用的選項的簡短補充說明:選項loadonce: true在使用datatype: "local"的情況下沒有意義(它將被忽略)。 colModel的屬性align: 'left'是默認值,可以跳過。屬性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)。