Динамические колонки Ext.grid.Panel
Здравствуйте!
Как сделать Ext.grid.Panel, у которого после создания можно было бы менять колонки? То есть создал я к примеру таблицу с одним набором колонок (и соответствующим Store+Model). А потом хочу загрузить таблицу с другим набором колонок, но не хочу удалять этот grid. Пока я не нашел методов, чтобы на ходу можно было бы менять модель или ее содержимое, менять Store у grid-а. |
<!DOCTYPE html> <html> <head> <title>demo</title> <script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script> <link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css"> <script> Ext.onReady(function() { var store = Ext.create('Ext.data.Store', { fields:['name', 'email', 'phone'], proxy: { type: 'memory', reader: { type: 'json', root: 'items' } } }); Ext.create('Ext.grid.Panel', { title: 'test', store: store, columns: [ { header: 'Name', dataIndex: 'name' }, { header: 'Email', dataIndex: 'email', flex: 1 }, { header: 'Phone', dataIndex: 'phone' } ], height: 200, width: 400, renderTo: Ext.getBody(), tbar: [{ text: 'изменить поля' , handler: function() { var gd = this.up('grid'); gd.reconfigure(gd.getStore(), [ { header: 'aaaa', dataIndex: '1111' }, { header: 'bbbb', dataIndex: '2222', flex: 1 }, { header: 'cccc', dataIndex: '3333' } ]); } }] }); }); </script> </head> <body></body> </html> |
Ни за что не подумал что это находится в методе reconfigure()...
Спасибо! Сейчас попробую найти подобные методы в Store и в Model. |
Часовой пояс GMT +3, время: 05:00. |