Взял за основу пример из сайта ExtJS. Немного его модифицировав, что бы показать проблему.
Стоит задача, определять колонки в функции initComponent.
При этом, если запустить, получаю ошибку
TypeError: Cannot call method 'insert' of undefined
Подскажите, что делаю не так? И может это можно другим путем решить?
Ext.create('Ext.data.Store', {
storeId:'simpsonsStore',
fields:['name', 'email', 'phone'],
data:{'items':[
{'name': 'Lisa', "email":"lisa@simpsons.com", "phone":"555-111-1224"},
{'name': 'Bart', "email":"bart@simpsons.com", "phone":"555-222-1234"},
{'name': 'Homer', "email":"home@simpsons.com", "phone":"555-222-1244"},
{'name': 'Marge', "email":"marge@simpsons.com", "phone":"555-222-1254"}
]},
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
Ext.create('Ext.grid.Panel', {
title: 'Simpsons',
initComponent: function() {
this.columns = [
{text: 'Name', dataIndex: 'name'},
{text: 'Email', dataIndex: 'email', flex: 1},
{text: 'Phone', dataIndex: 'phone'}
];
this.callParent(arguments);
},
store: 'simpsonsStore',
height: 200,
width: 400,
renderTo: Ext.getBody()
});