我正在尝试按照 kfranqueiro 在此链接中的建议覆盖 dgrid 中的排序逻辑 - https://github.com/SitePen/dgrid/issues/276。
我按排序顺序从服务器获取数据,只想更新列标题的 UI。我正在这样做——
On(mygrid, 'dgrid-sort', lang.hitch( this,function(event){
var sort = event.sort[0];
var order = this.sort.descending ? "descending" : "ascending";
console.log("Sort "+ this.sort.property + " in " +order+" order.");
event.preventDefault();
mygrid.updateSortArrow(event.sort, true);
myFunctionToRefreshGrid();
}));
...
myFunctionToRefreshGrid: function() {
...//get data from server in sorted order
var mystore = new Memory({data: sortedDataFromServer, idProperty: 'id'});
mygrid.set("collection", mystore);
...
}
Memory
这里是"dstore/Memory"
。我正在使用dgrid 0.4,
dstore 1.1
和dojo 1.10.4
在打电话之前,set('collection',...)
我看到这sortedDataFromServer
是按所需的排序顺序。但是由于某种原因,网格中的顺序不同。例如,当按降序排序时,我看到以小写开头的值首先以降序出现,然后以大写开头的值以排序顺序出现。看起来 dstore 正在做更多的事情。
会发生什么?难道我做错了什么?是否有不同/更好的方法来进行自定义排序?
谢谢,