具有分组的Ext JS网格在点击时展开一行

时间:2013-10-29 03:39:46

标签: grid grouping expand extjs4.2

我有一个使用ftype: 'grouping'groupHeaderTpl: ...'创建组行的Ext JS网格。我想确保当用户点击组行时,所有其他组行都已折叠,并且该组行已展开。

根据this page,我可以订阅groupclick个事件,并且有collapseAll()expand()的方法。

我已设法订阅groupclick事件并成功调用collapseAll()方法。但是,我无法使用expand()方法。

问题在于,expand()方法要求我传递groupName,而我不知道实际需要什么。在groupclick事件中,我可以访问名为group的变量,但该变量始终为undefined

我的问题:groupName方法要求的expand()是什么,以及如何在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???
        },

1 个答案:

答案 0 :(得分:1)

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

groupclick: function (view, node, group, e, eOpts) {
    view.features[0].collapseAll(); 
    view.features[0].expand(group);
}

如果您的group变量未定义,则可能是分组定义有问题。在商店中,您应该定义groupField,它是模型中的字段名称(对于记录,该字段可能为空?)。

工作样本:http://jsfiddle.net/CEJY5/