我使用的是ExtJs 3.4,我有一个带有列模型的TreeGrid (Ext.ux.tree.TreeGrid)
。
当您单击每列的标题时,排序对TreeGridLoader
带来的数据非常有效,但我想要sort by a default specified column
。有办法做到这一点吗?我想指定,就像我说的那样,我没有商店,相反,我定义了一个TreeGridLoader。
更新
多亏了wes
,我的问题的最佳(也是通用)解决方案是:
// simulate click on order number and order by this column
var treeGrid = Ext.getCmp('siteStructureGrid');
var index = 0;
for (var i = 0; i<treeGrid.columns.length; i++){
if (treeGrid.columns[i].id == 'orderNumberColumn'){
index = i;
}
}
var column = treeGrid.columns[index];
treeGrid.fireEvent('headerClick', column);
一种方法可能是调用标头的单击处理程序。通常我会对此表示不满,但这是在处理一堆任务,而不是调用一个公共排序方法。IMO的TreeGrid用户体验不是很丰富。
// grab the column and fire the click, since it works for you
var column = treeGrid.columns[index];
treeGrid.fireEvent('headerClick', column);