答案 0 :(得分:9)
在最新版本上你可以这样做:
grid.setSortColumn("myColId",true); //columnId, ascending
您还可以使用setSortColumn * s *
设置多个答案 1 :(得分:1)
请在此处查看我的解决方案。这最初不使用Dataview对列进行排序。
我认为它能满足您的需求。
顺便说一句,因为您正在使用Dataview。你也可以尝试一下。但我个人并没有尝试过这个。
dataview.reSort()
答案 2 :(得分:0)
我有一个有趣的想法是有效的,那就是只启用多列标题排序(example-multi-column-sort.html),然后一旦加载网格模拟标题上的click()我希望在网格第一次出现时对其进行排序(“时间”是我正在排序的列的名称)。计算列标题的ID类似于网格的根div的id(至少现在为:0)):
var gridId = $('#myGrid').attr("class");
gridId = '#'+gridId.replace(" ui-widget","")+'time';
$(gridId).click();
然后用户可以点击他们想要的任何其他列标题,但我只是为他们点击了第一个。
答案 3 :(得分:0)
这最终成为我的解决方案,只需按照您希望的排序方式为光滑的网格提供数据。然后让 multisort 在剩下的时间处理它。仍然没有以编程方式出售设置排序和网格更新,但它快速简便
this.data = res.data.sort((a, b) => {
let x = a[config.sortField], y = b[config.sortField];
return (x == y ? 0 : (x > y ? 1 : -1));//no ===
})