EXT版本3.3.0
我有一个带可排序列的网格面板。它适用于90%的用户。但对于某些用户,第一列(这是一个整数)呈现为不可排序。即使单击列上方的弹出菜单,“升序排序”和“降序排序”也会显示为灰色。我无法复制此错误,但我已在其他用户工作站上看到它。以下是更多细节:
我在这个网络上没有源代码,我想把它粘贴进去。
谢谢!
答案 0 :(得分:1)
我记得我前段时间遇到了类似的问题,而且这笔交易是ExtJs网格错误地恢复了Cookie的状态。经过一些调试后,我添加了以下补丁:
Ext.override(Ext.grid.GridPanel, {
applyState: function (state) {
var cm = this.colModel,
cs = state.columns,
store = this.store,
s,
c,
colIndex;
if (cs) {
for (var i = 0, len = cs.length; i < len; i++) {
s = cs[i];
c = cm.getColumnById(s.id);
if (c) {
colIndex = cm.getIndexById(s.id);
cm.setState(colIndex, {
hidden: s.hidden,
width: s.width,
sortable: s.sortable,
fixed: cm.columns[colIndex].fixed
});
if (colIndex != i) {
cm.moveColumn(colIndex, i);
}
}
}
}
if (store) {
s = (state.sort instanceof Array) ? state.sort[0] : state.sort;
if (s) {
store[store.remoteSort && store.groupBy ? 'setDefaultSort' : 'sort'](s.field, s.direction);
}
s = state.group;
if (store.groupBy) {
if (s) {
store.groupBy(s);
}
else {
store.clearGrouping();
}
}
}
var o = Ext.apply({}, state);
delete o.columns;
delete o.sort;
Ext.grid.GridPanel.superclass.applyState.call(this, o);
}
});
它唯一能做的就是从cookie中恢复固定属性。