在SlickGrid中设置默认排序列

时间:2012-03-20 15:04:04

标签: javascript slickgrid

我正在使用SlickGridDataView,我正在尝试在我的桌面上设置默认排序列。有没有办法触发排序或设置选项,以便列在加载时排序?

4 个答案:

答案 0 :(得分:9)

在最新版本上你可以这样做:

grid.setSortColumn("myColId",true); //columnId, ascending

您还可以使用setSortColumn * s *

设置多个

答案 1 :(得分:1)

请在此处查看我的解决方案。这最初不使用Dataview对列进行排序。

Calling sort on slickgrid

我认为它能满足您的需求。

顺便说一句,因为您正在使用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 ===
        })