我正在尝试扩展一个使用ExtJS的开源自动化测试框架。
我是ExtJS的新手,并试图四处寻找其观点。
现在我希望以这样的方式使用网格分组:当我点击组标题上的图标时,它应该将其子项的所有数据附加到数组中,并将该事件与数据一起在控制器中触发。
我尝试将groupclick添加到我的听众,但它似乎无法正常工作。
我的网页快照如下所示:[1]:https://i.stack.imgur.com/7LeMn.png
以下是我的观点代码:
Ext.define('Redwood.view.Reportsgrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.reportsgrid',
store: 'Reports',
selType: 'rowmodel',
title: "[All Executions]",
features: [{
ftype:'grouping',
groupHeaderTpl: "Test Case Name: {name}",
// enableGroupingMenu:true
}],
listeners:{
groupclick: function (view, node, group, e, eOpts) {
view.features[0].collapseAll();
view.features[0].expand(group);
}
},
viewConfig: {
markDirty: false
},
minHeight: 150,
height: 500,
plugins: [
"bufferedrenderer"],
manageHeight: true,
initComponent: function () {
var reportsView = this;
var me = this;
this.tbar ={
xtype: 'toolbar',
dock: 'top',
items: [
]
};
this.columns = [
/* {
xtype: 'actioncolumn',
header: 'Action',
width: 75,
weight: 1,
align: 'center',
items: [
{
icon: 'images/symbol_sum.png',
tooltip: 'Aggregated Report',
itemId: "aggregationReport",
handler: function(grid, rowIndex, colIndex) {
var report = this.up("reportsView");
report.fireEvent('aggregate')
}
}
]
}, */
{
header: 'Executions',
dataIndex: 'name',
flex: 1,
width: 200,
weight: 2,
summaryType: 'count',
summaryRenderer: function(value,metaData,record){
return "<p style='font-weight:bold;color:#000000'>"+value+"</p>";
}
},
];
this.callParent(arguments);
}
});
答案 0 :(得分:0)
groupclick
事件在功能上可用,而不是网格,因此您必须将侦听器添加到功能,而不是网格:
features: [{
ftype:'grouping',
groupHeaderTpl: "Test Case Name: {name}",
// enableGroupingMenu:true
listeners:{
groupclick: function (view, node, group, e, eOpts) {
view.features[0].collapseAll();
view.features[0].expand(group);
}
}
}],
答案 1 :(得分:0)
您能否澄清是否触发了groupClick或者groupClick内的代码是否无效?如果触发gridClick,请尝试此操作。
grid.doLayout();