1

まず第一に、あなたがここでやっていることに感謝します。それはとてもいいです。

Dojoを使用してWebアプリケーションを開発していますが、行の順序付けで問題が発生していdojox.grid.EnhancedGridます。製品ステータスのある製品があるとしましょう。私のJSONファイルは次のようになります。

[
  {"id":1,"name":"Car A","price":"1000","productstatus":{"id":1,"name":"new"}},
  {"id":2,"name":"Car B","code":"2000","productstatus":{"id":2,"name":"old"}}
]

そのデータをグリッドに配置し、ヘッダーをクリックして行の順序を変更したいと思います。

HTMLファイルに次のようなものがあります。

<table id="lstProduct" jsId="lstProduct" dojoType="dojox.grid.EnhancedGrid" >
  <thead>
    <tr>
      <th field="id">Id</th>
      <th field="name" width="100px">Name</th>
      <th field="price" width="100px">Price</th>
      <th field="id" formatter="formatterStatus">Status</th>
    </tr>
  </thead>
</table>

と私のJavascriptファイル:

dojo.addOnLoad(function() {

  productStore = new dojo.data.ItemFileReadStore({data: { items: ${products} }});
  dijit.byId("lstProduct").setStore(productStore);

});

// formatter
function formatterStatus(val, rowIndex) {
  return lstTasks.getItem(rowIndex)['productstatus'][0]['name'];
}

問題?ステータス(status's)で注文することはできません。ステータスヘッダーをクリックしたときにnameのみ注文します。product.id

そのための回避策はありますか?前もって感謝します。

4

1 に答える 1

1

clientSort="true"クライアント側の並べ替えを有効にするには、追加する必要があると思います。<table>これを宣言に追加します。

于 2011-08-04T05:37:57.857 に答える