Grid 带分组的Ext JS网格单击展开一行

Grid 带分组的Ext JS网格单击展开一行,grid,grouping,expand,extjs4.2,Grid,Grouping,Expand,Extjs4.2,我有一个ExtJS网格,它使用ftype:'grouping'和groupHeaderTpl:…'来创建组行。我想确保当用户单击组行时,所有其他组行都已折叠,并且此组行已展开 根据,我可以订阅groupclick事件,还有collapseAll()和expand()的方法 我已成功订阅了groupclick事件,并成功调用了collapseAll()方法。但是,我无法让expand()方法工作 问题是,expand()方法要求我传入groupName,我不知道这到底需要什么。在groupclic

我有一个ExtJS网格,它使用
ftype:'grouping'
groupHeaderTpl:…'
来创建组行。我想确保当用户单击组行时,所有其他组行都已折叠,并且此组行已展开

根据,我可以订阅
groupclick
事件,还有
collapseAll()
expand()
的方法

我已成功订阅了
groupclick
事件,并成功调用了
collapseAll()
方法。但是,我无法让
expand()
方法工作

问题是,
expand()
方法要求我传入
groupName
,我不知道这到底需要什么。在
groupclick
事件中,我可以访问名为
group
的变量,但该变量始终是
未定义的

我的问题是:
expand()
方法要求的
groupName
是什么,如何从
groupclick
事件中访问它?是否需要在模型或网格中的某个我看不到的地方定义它

这是我的控制器代码:

 onGroupClick: function (view, node, group, e, eOpts) {
            console.log(view);
            console.log(node);
            console.log(group) //this is always undefined

            view.features[0].collapseAll(); //works fine
            view.features[0].expand(groupName);  //what goes here for groupName???
        },

group
变量保存组名。因此,下面的代码应该可以完成这项工作:

groupclick: function (view, node, group, e, eOpts) {
    view.features[0].collapseAll(); 
    view.features[0].expand(group);
}
如果
group
变量未定义,则可能是分组定义有问题。在存储中,您应该定义了
groupField
,这是模型中字段的名称(对于记录,该字段可能是空的?)


工作样本:

hmmm……我昨天一定是拼错了什么。今天
中有正确的数据,一切正常。谢谢你完整的回答。如果不是您的JSFIDLE示例,我不会相信您:)