2016-04-14 46 views
-2

私はローカルデータを使用しています。 Json値はlsmオブジェクト内にあります。jqGrid動作していないソートプロセスが動作しない

ランクとストアIDで並べ替えを試みます。両方のフィールドは機能しません。 なぜ機能しないのかわかりません。

私は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

問題を再現するために使用できる少なくとも2つの項目を含む**テストデータ**( 'lsm')を提供できますか?どのバージョンのjqGridを使用していますか?jqGrid([free jqGrid](https://github.com/free-jqgrid/jqGrid)、商用の[Guriddo jqGrid JS](http://guriddo.net/?page_id = 103334)またはバージョン<= 4.7の古いjqGrid?さらに、コード内でカスタムフォーマッタ(ほぼすべての列)を使用します。フォーマッターのコードも含めることができますか?それはあなたが記述する問題を再現することを可能にします。 – Oleg

答えて

0

まず、コードに明確なバグを修正する必要があります。あなたが二回同じオプションを指定することはありません同じようにオブジェクト

{ 
    height: 250, 
    height: 300 
} 

コードのもう1つの重要なバグ:同じnameプロパティを持つ複数の列を指定しました(name: 'rank'の2つの列と、name: 'storeId'の2つの列)。

次の問題です。カスタムフォーマッタ(checkValueSKU_pricingcheckValueFuture_pricingcheckValuePromotionscheckValueOffersformatLinkMarkDelete)を定義した場合は、アンフォーマッタも定義する必要があります(unformatコールバックhereの説明を参照)。

使用するオプションに関する短い補足:使用datatype: "local"の場合、オプションloadonce: trueは意味がありません(無視されます)。プロパティalign: 'left'colModelです。デフォルトはスキップ可能です。プロパティindexも削除できます(index: 'storeId'参照)。機能として定義されたsorttypename: 'storeId'参照)はsorttype: "integer"と同じです。定義済みのsorttypeプロパティが優先される必要があります。

最後の発言:問題が報告された場合は、完全なコード(多くのカスタムフォーマッタを使用してください)といくつかのテストデータ(lsm配列からの少なくとも2つのアイテム、dataパラメータ)。 は常にで、使用するjqGridのバージョンとjqGridのフォーク(free jqGrid、コマーシャルGuriddo jqGrid JSまたはバージョン< = 4.7の古いjqGrid)を記述します。現在のバージョンの無料jqGrid(現在はバージョン4.13.2)を使用することをお勧めします。

関連する問題