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

ExtJs。如何将项目添加到网格列标题?(具有现代主题),extjs,extjs6,extjs6-modern,Extjs,Extjs6,Extjs6 Modern,我想在网格列标题中添加一些项目 它适用于经典主题(使用Ext.grid.Panel) 但它不适用于现代主题(使用Ext.grid.grid) 所有项目都使用带有“display:none;”CSS样式的.x-gridcolumn.x-leaf.x-gridcolumn-body-el类进入div 非常感谢您可以在网格的初始化或渲染事件时向目标dom添加组件 listeners: { initialize: function (grid) { var columns =

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

它适用于经典主题(使用Ext.grid.Panel)

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

所有项目都使用带有“display:none;”CSS样式的.x-gridcolumn.x-leaf.x-gridcolumn-body-el类进入div


非常感谢

您可以在网格的初始化或渲染事件时向目标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
       });
      })
   }  
}
多亏了法比奥·巴罗斯

解决办法是

 - 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: [
            .....
            ]
        }

只需改变样式:.x-gridcolumn-body-el{display:block!重要;}@FabioBarros谢谢!它对我有用。我将在单独的评论中写出完整的解决方案。