Показать сообщение отдельно
  #1 (permalink)  
Старый 12.03.2013, 13:45
Интересующийся
Отправить личное сообщение для Aries Посмотреть профиль Найти все сообщения от Aries
 
Регистрация: 02.02.2013
Сообщений: 26

Динамическое создание колонок в гриде
Взял за основу пример из сайта 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()
});
Ответить с цитированием