所以我在这里有工作视图,可以很好地创建我的网格。
Ext.define('AM.view.user.List' ,{
extend: 'Ext.grid.Panel',
alias: 'widget.userlist',
title: '<center>Results</center>',
store: 'User',
dockedItems: [{
xtype: 'toolbar',
dock: 'bottom',
items: [
{ xtype: 'tbtext', text: 'Loading...', itemId: 'recordNumberItem' },
'->',
{ text: 'Print', itemId: 'print' },
'-',
{ text: 'Export', itemId: 'export' }
]
}],
initComponent: function() {
this.columns = [
{header: 'Name', dataIndex: 'name', flex: 4, tdCls: 'grid_cell'},
{header: 'ID', dataIndex: 'ID', flex: 2, tdCls: 'grid_cell'},
{header: 'Mid Name', dataIndex: 'mid_name', flex: 3, tdCls: 'grid_cell'},
{header: 'Last Name', dataIndex: 'last_name', flex: 4, tdCls: 'grid_cell'},
{header: 'Address', dataIndex: 'adress', flex: 3, tdCls: 'grid_cell'}
];
this.callParent(arguments); //Calls the parent method of the current method in order to override
var store = this.getStore(); //Retrieving number of records returned
textItem = this.down('#recordNumberItem');
textItem.setText('Number of records: ' + store.getCount());
//var val = Ext.getCmp('criteria_1').getValue();
//store.filter('ID', val);
}
});
我想将网格中的每一行转换为可展开和可折叠的,如此处显示在Row Expander下的Sencha文档中:http://docs.sencha.com/extjs/4.2.1/#!/example/build/KitchenSink/ext-theme-neptune/
我尝试过添加插件但无法让它工作。有什么想法吗?
答案 0 :(得分:2)
像这样使用插件配置:
Ext.define('AM.view.user.List',{
extend: 'Ext.grid.Panel',
//other configs
plugins: [{
ptype: 'rowexpander',
rowBodyTpl: ['{field}']
}]
});
查看工作示例on jsFiddle。此外,Sencha Docs在右侧提供了一个“代码预览”面板,显示了他们使用的代码。
我在this answer中读到你无法在initComponent中配置插件,但是当rowexpander仍然是ux时,这是针对ExtJS 4.1的。我不确定它在4.2中的相关性。
答案 1 :(得分:1)
这已经太晚了,但是对于那些需要另一排的人来说:
Ext.define('AM.view.user.List',{
extend: 'Ext.grid.Panel',
//other configs
plugins: [{
ptype: 'rowexpander',
rowBodyTpl: ['<p><b>Field 1:</b> {field1}</p><br>',
'<p><b>Field 2:</b> {field2}</p>']
}]
});