0

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

根据这个页面,有一个groupclick可以订阅的事件,还有 和 的collapseAll()方法expand()

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

这就是问题所在,该expand()方法需要我传入groupName,我不知道它到底想要什么。在groupclick事件内部,我可以访问一个名为 的变量group,但该变量始终为undefined.

我的问题:groupNameexpand()方法要求的是什么,我如何从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???
        },
4

1 回答 1

1

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

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

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

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

于 2013-10-29T12:07:35.587 回答