Grid 带分组的Ext JS网格单击展开一行
我有一个ExtJS网格,它使用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
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示例,我不会相信您:)