首先,非常感谢你们今天所做的一切。那很好。
我正在开发一个web应用程序与Dojo,我正面临着排序我的行在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
订购。
有什么解决方法吗?
我认为您需要添加clientSort="true"
来启用客户端排序。将此添加到<table>
声明中。