【问题标题】:Groupped grid collapse groups on group click分组单击时分组网格折叠组
【发布时间】:2014-01-04 04:04:17
【问题描述】:

我有一个分组网格。所有项目在开始时都折叠起来。我想实现一次只能扩展一个组的功能。我的想法如下:在组单击时折叠所有组并再次展开单击的组。但我被困在第一部分(折叠所有组)。我在浏览器控制台中收到以下错误:

错误:

Uncaught TypeError: Cannot call method 'onRefresh' of undefined .... Grouping.js

代码:

 onGroupingGroupclick()view, node, group, eOpts){
       view.collapseAll(); //error
    }

如果由于某种原因我的方法不合适,我会请求任何替代方案...

【问题讨论】:

  • 你用的是什么版本?
  • SenchaArchitect 3.0 和 ExtJs 4.2

标签: javascript extjs grid grouping sencha-architect


【解决方案1】:

您的groupclick 事件侦听器中的view 变量包含Ext.view.Table 的实例。但是您必须在网格中用于分组的Ext.grid.feature.Grouping 功能实例上调用collapseAll() 方法。

所以你的网格配置应该是这样的:

features: [{
    ftype:'grouping',
    startCollapsed: true       
}],    
listeners: {
    groupclick: function (view, node, group, e, eOpts) {

        view.features[0].collapseAll();
        view.features[0].expand(group);
    }
}

查看此小提琴中的实时示例:https://fiddle.sencha.com/#fiddle/2f8

【讨论】:

  • 我不得不将您的代码绑定到“groupexpand”事件,因为“gropuclick”不会触发。现在我得到 view.features 是未定义的
  • 我知道并感谢您的帮助。但不是我的 groupclick 事件没有触发,我被困在那里。
  • 您使用的是 ExtJs 4.2 的哪个版本?您是否在 grid 组件上定义了 gropuclick 事件的侦听器?
  • 我在我的分组功能下定义了它。我正在使用 Ext JS 4.2.x
  • 您必须在grid 上定义监听器(就像我在小提琴中一样)。 groupclick 事件由网格触发,而不是由分组功能触发。
猜你喜欢
  • 1970-01-01
  • 2013-04-09
  • 2018-03-06
  • 2010-12-24
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
  • 2020-05-23
  • 2022-08-20
相关资源
最近更新 更多