如何在ExtJS中禁用分组网格中的折叠?

时间:2012-04-19 09:46:09

标签: javascript extjs

主题中的一切。我有一个分组网格,如this Sencha example。我想删除[+] [ - ]符号以禁用折叠。

我以为会有一些分组功能的配置,比如'collapsible:false',但是没有。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

使用配置禁用折叠配置属性。来自Sencha:

  

collapsible:Boolean

     

设置为false以禁用从UI中折叠组。

     

当缓冲关联的商店时,将其设置为false。

     

默认为:true

来源:Sencha Documentation of the collapsible configuration

答案 1 :(得分:2)

您可以继承Ext.grid.feature.Grouping并重新定义onGroupClick方法。这不是好事,而是现在最简单的方式:

Ext.define( 'My.grid.feature.RightsGrouping', {
extend: 'Ext.grid.feature.Grouping',

   onGroupClick: function(view, group, idx, foo, e) {
   }
});

此外,您还必须编辑CSS以删除折叠符号并更改光标指针:

  .x-grid-group-hd .x-grid-cell-inner { cursor: default; }
  .x-grid-group-title { background-image: none; }

答案 2 :(得分:2)

非常好的Serg,谢谢。

覆盖更容易:

... 
features: [
    Ext.create('Ext.grid.feature.Grouping',{ 
        onGroupClick: function() {} /* do nothing! */ 
    })
]
...

答案 3 :(得分:0)

这在4.2.1中没有用。

想出一个对我来说非常有趣的解决方案

...
groupcollapse: 
{
         fn: me.onGroupingGroupcollapse,
         scope: me
}
...
...

onGroupingGroupcollapse: function(view, node, group, eOpts) 
{
        Ext.getCmp('gridCenters').view.features[0].expand(node.name,true);
}
...