2012-03-20 75 views

回答

9

在你能做到这一点的最新版本:

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

您还可以设置多个与setSortColumn * 小号 *

+0

由于我使用DataView,我不相信这种方法会工作。在设置sortcol ='myColName'后,我终于触发了'dataView.sort(comparer,false)'。 (我应该添加并接受我自己的答案?) – podcastfan88 2012-03-20 18:15:35

+0

我很错误。我试着用'dataView.setSortColumn',它没有用。但在我的网格实例上使用它。正如我上面的解决方案。 – podcastfan88 2012-03-20 22:15:52

+0

@stuart我试过这个,但它所做的就是显示按列排序。它不会在我订阅onSort事件的dataView上触发排序。我如何才能触发它呢? – 2012-03-28 21:37:35

1

看到我的解决方案。这最初应用于列而不使用Dataview。

Calling sort on slickgrid

我觉得你想要做什么。

顺便说一句,因为你使用的是数据视图。你也可以试试这个。但我没有亲自尝试过。

dataview.reSort() 
0

我有一个有趣的想法,其工作,这是刚刚启用的多列标题排序(例如,多列sort.html),然后一旦电网加载模拟点击( )我希望在网格首次出现时排序(“时间”是我正在排序的列的名称)。列标题的ID计算类似ID为网格的根格(至少现在:0)):

 var gridId = $('#myGrid').attr("class"); 
     gridId = '#'+gridId.replace(" ui-widget","")+'time'; 
     $(gridId).click(); 

然后,用户可以点击他们想要的任何其他列标题,但我只是为他们点了第一个。