我正在尝试获取initialConfig
我已在面板中定义并使用的类的。通过初始配置,我的意思是我想要使用面板中的类时设置的内容以及该类的定义值是什么。这是一个例子:
Ext.define('MyViewModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.myview',
stores: {
gridStore: {
autoLoad: true,
fields: ['name', 'email', 'phone', 'userval', 'doj'],
proxy: {
type: 'ajax',
url: 'data1.json',
reader: {
type: 'json'
}
}
}
}
});
Ext.define('MyGrid', {
extend: 'Ext.grid.Panel',
xtype: 'myGrid',
viewModel: {
type: 'myview'
},
title: 'Simpsons',
stateful: true,
multiSelect: true,
stateId: 'stateGrid',
closable: true,
bind: {
store: '{gridStore}'
},
columns: [{
text: 'Name',
dataIndex: 'name',
stateId: 'name'
}, {
text: 'Email',
dataIndex: 'email',
flex: 1,
stateId: 'email'
}, {
text: 'Phone',
dataIndex: 'phone',
stateId: 'phone'
}, {
text: 'Date of Joining',
dataIndex: 'doj',
flex: 1,
stateId: 'date'
}]
});
Ext.define('MyController', {
extend: 'Ext.app.ViewController',
alias: 'controller.myview'
});
Ext.state.Manager.setProvider(Ext.create('Ext.state.LocalStorageProvider'));
var panel = Ext.create('Ext.panel.Panel', {
title: 'My Panel',
controller: 'myview',
height: 400,
width: 400,
layout: 'fit',
renderTo: Ext.getBody(),
items: [{
xtype: 'myGrid',
reference: 'something'
}],
listeners: {
afterrender: function(panel) {
console.log(panel.lookupReference('something').initialConfig);
}
}
});
以及输出的内容:
Object {
xtype="myGrid",
reference="something"
}
因此,在afterrender
处理程序中,当I输出initialConfig
,我想看看发生了什么在面板的配置对于我的课,以及类的定义的属性设置,如列,标题等我试过在寻找config
,但没有给我列...我意识到我可以直接查看网格的列,但是如果用户将其中的某项更改(隐藏/重新排序),则我不希望这些更改。我还有其他可以寻找的属性吗?
您可以清除状态并使用原型的列重新配置网格:
var grid = panel.lookupReference('something'),
store = grid.getStore();
// Clear the state of the grid
Ext.state.Manager.clear(grid.stateId);
// Sort the store back to default
store.sort('first', 'ASC');
// Reconfigure the grid
grid.reconfigure(store, grid.self.prototype.columns);
工作示例
https://fiddle.sencha.com/#fiddle/tp0
https://fiddle.sencha.com/#fiddle/tp1
清除状态的信用:https :
//druckit.wordpress.com/2014/02/14/ext-js-4-grid-state-management/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句