ExtJs. Как добавить элементы в заголовок столбца сетки? (с современной темой) - PullRequest
0 голосов
/ 15 мая 2019

Я хотел бы добавить некоторые элементы в заголовок столбца сетки.

Работает с классической темой (используя Ext.grid.Panel)

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

но он не работает с современной темой (используя Ext.grid.Grid)

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

Все элементы попадают в div с классом .x-gridcolumn.x-leaf .x-gridcolumn-body-el с "display: none;" Стиль CSS.

спасибо

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Вы можете добавить компонент в целевой домен либо при инициализации, либо при рендеринге событий сетки.

 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
       });
      })
   }  
}
0 голосов
/ 25 июня 2019

Благодаря Фабио Барросу

Решение

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