2
我在grid.Panel
中有一个动作列,它改变了字段值并保存了存储数据。但每次调用store.save
时,网格滚动位置都会返回top:0
。Extjs在store.save后保持网格滚动位置
示例代码:
Ext.define('SF.view.Myview.List' , {
extend: 'Ext.grid.Panel',
viewConfig: {
preserveScrollOnRefresh: true,
},
store: 'Contents',
initComponent: function() {
this.columns = [
{ xtype: 'actioncolumn',
header: 'Action'
, width: 60
, items: [{ // change status button
icon: 'http://whatisextjs.com/BAHO/icons/cancel.png'
, handler: function(grid, rowIndex, colindex) {
var record = grid.getStore().getAt(rowIndex);
record.set('status',6);
grid.store.save();
}
},
我已经试过了preserveScrollOnRefresh
财产没有成功。该属性适用于分页和工具栏按钮,但不适用于store.refresh/load
事件。
是否可以保存数据并刷新行而不失去滚动位置?
接受另一个变量并将商店数据分配到网格之前 – Daya
有趣的原因正是该开关的用途 - 刷新 – dbrin
@dbrin注意到我写了“刷新行”,而不是完整的网格。 –