Я помню, у меня была похожая проблема некоторое время назад, и дело было в том, что сетка 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.