首先,非常感谢你在这里所做的一切。这非常好。
我正在使用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'];
}
问题?我无法按状态订单(状态为name
),当我点击状态标题时,它只按product.id
排序。
有什么解决方法吗? 提前谢谢。
答案 0 :(得分:1)
我认为您需要添加clientSort="true"
才能启用客户端排序。将其添加到<table>
声明。