grid. добавить column в column
есть грид.
{
xtype: 'grid',
width: 400,
id: 'grid1',
height: 300,
columns: [
{
text: 'col1',
id: 'column1'
},
{
text: 'col2'
},
{
text: 'col3'
}]
}
нашел чтобы в грид добавлялось поле
var column = Ext.create('Ext.grid.column.Column',
{
text : 'new column'
});
Ext.getCmp('grid1').headerCt.insert(0, column);
а вот как добавить поле не в грид а в column? т.е. многоуровневый сделать грид? |
Я так думаю вы подобное видели
var myGrid= Ext.create('Ext.grid.Panel',{
//...
columns:[
{header: 'text',
columns:[
{header: 'text1'},
{header: 'text2'},
{header: 'text3'},
{header: 'text4'}
]
}
]
});
http://docs.sencha.com/extjs/4.2.0/#...ed-header-grid но вам такой вариант не катит, так как необходимо добавлять столбцы по какому-то событию. Поковырял, помудрил. Предположил, что для столбца необходим хидерконтейнер, так как он есть в гриде, но для column отсутствует (хотя сам по себе колюмн наследуется от хидерконтейнера. ...?) Накидал такой код
myGrid.headerCt.insert(0,new
Ext.grid.column.Column({header:'mainColumn',id:'mainCol',items:[{xtype:'headercontainer',id: 'hc'}]}));
Ext.getCmp('hc').insert(0,new Ext.grid.column.Column({header:'subColumn',id:'subCol1'}));
console.log(Ext.getCmp('hc'));
Код вроде выполняется без ошибок, но к сожалению подстолбец так и не отобразился( хотя в хидерконтейнере действительно содержится запись о субколюмн может дело в том что хидерконтейнер я сажаю в items mainColumn, когда для грида не так (ну то есть в том случае когда все работает, в смысле столбец добавляется в грид) Если решите или решили уже задачу, то отпишитесь пожалуйста |
| Часовой пояс GMT +3, время: 09:33. |