ExtJs。如何将项目添加到网格列标题? (具有现代主题)

时间:2019-05-15 07:33:36

标签: extjs extjs6 extjs6-modern

我要在网格列标题中添加一些项目。

它可以使用经典主题(使用Ext.grid.Panel)

https://fiddle.sencha.com/#view/editor&fiddle/2s7u

但不适用于现代主题(使用Ext.grid.Grid)

https://fiddle.sencha.com/#view/editor&fiddle/2s7v

所有项目均以.x-gridcolumn.x-leaf .x-gridcolumn-body-el类与“ display:none;”一起到达div。 CSS样式。

谢谢

2 个答案:

答案 0 :(得分:1)

您可以在初始化或网格渲染事件时将组件添加到目标dom。

 listeners: {
    initialize: function (grid) {
       var columns = grid.getColumns();
       columns.forEach(function(record){
       var targetDom = record.el.dom;
       var newPanel = Ext.create('Ext.container.Container', {
         items: [{
           xtype: 'textfield'
         }],
         renderTo: targetDom
       });
      })
   }  
}

答案 1 :(得分:0)

感谢法比奥·巴罗斯

解决方案是

 - add cls property to grid
 - add css rule with 'display: inline'

.grid-header-items .x-gridcolumn.x-leaf .x-gridcolumn-body-el {
  display: inline;
}//show items
.grid-header-items .x-gridcolumn .x-header-el {
  display: none;
}//hide header
        {
            xtype: 'grid',
            cls: 'grid-header-items',
            items: [
            .....
            ]
        }