【发布时间】:2016-03-10 17:17:57
【问题描述】:
我想对网格中的列进行排序,就像行一样。我制作了一个从 actioncolumn 处理程序调用的简单排序函数:
sortColumns:function(record) { // The record after which's values the columns are ordered
var columns = this.columns;
Ext.Array.sort(columns,function(col1,col2) {
if(record.get(col1.dataIndex) > record.get(col2.dataIndex)) return 1;
if(record.get(col1.dataIndex) < record.get(col2.dataIndex)) return -1;
if(col1.dataIndex > col2.dataIndex) return 1;
if(col1.dataIndex < col2.dataIndex) return 1;
throw new Error("Comparing column with itself shouldn't happen.");
});
this.setColumns(columns);
});
setColumns 行现在抛出错误
Cannot add destroyed item 'gridcolumn-1595' to Container 'headercontainer-1598'
这是因为“旧”列首先被销毁,然后应用相同并因此被销毁的“新”列。
我只想更改顺序,但我没有找到任何功能。你知道怎么做吗?
列的拖放排序工作,所以它是可行的;但我没有找到 sencha 实现拖放的源代码。你知道在哪里可以找到该代码吗?
【问题讨论】:
-
看看这篇文章:sencha.com/forum/…,grid.columnManager.columns 可以帮到你。
标签: extjs extjs6 extjs6-classic