2013-12-16 4 views
0

iO! Я знаю, что этот вопрос задавался много раз, но все же я не могу понять, откуда моя проблема. Я просто пытаюсь загрузить данные из базы данных PostGreSQL и отобразить ее внутри сетки ExtJS.Магазин не загружается внутри сетки - ExtJS

Мой магазин:

var getreports = Ext.create('Ext.data.JsonStore', { 
    // store configs 
    autoDestroy: true, 
    proxy: { 
     type: 'ajax', 
     url: 'http://129.129.129.15:81/getlistreports', 
     reader: { 
      type: 'json', 
      idProperty: 'id_consult', 
      totalProperty: 'total' 
     } 
    }, 
    remoteSort: false, 
    pageSize: 50, 
}); 

Моя сетка (встроенный внутри макета границы):

  { 
      region: 'center', 
      //xtype: 'container', 
      items: [ 
      Ext.create('Ext.grid.Panel', { 
      features: [filters], 
      store: getreports, 
      emptyText: 'Aucune donnée n\'a été trouvée', 
      columns: [ 
       { 
       text: 'Nom', 
       dataIndex: 'id_consult', 
       filter: 
        { 
        type: 'string', 
        }, 
       }, 
       { 
       text: 'génération', 
       dataIndex: 'typeentity', 
       flex: 1, 
       filter: 
        { 
        type: 'string', 
        }, 
       }, 
       { 
       text: 'Etat', 
       dataIndex: 'typeref', 
       filter: 
        { 
        type: 'list', 
        }, 
       }, 
      ] 
      }), 
      ] 
      }, 

и JSON предполагается читать. Я сделал слушателей, которые отображают содержимое вызова AJAX внутри журнала консоли, и он отображает что-то, поэтому я думаю, что проблема не исходит от него.

[{"id_consult":"1","typeref":"Territorial","typeentity":"BH"}, 
{"id_consult":"2","typeref":"Territorial","typeentity":"BOOS"}, 
{"id_consult":"3","typeref":"Territorial","typeentity":"BOB"}] 

И наконец:

getreports.load(); 

в конце функции

При загрузке страницы, он показывает нагрузку «всплывающее окно», но тогда ничего не отображает и показывает мне EmptyText Я объявил.
Также обратите внимание, что фильтры не работают, когда я объявляю хранилище внутри сетки (если я удалю его, я увижу их).

Любые советы для этого :)?

ответ

1

Ваших определений столбцов беспорядок (много завершающих запятых), но это в конечном счете не проблема. Сетка не загружает никаких данных, потому что хранилище не создает никаких записей после загрузки данных. Вам необходимо добавить конфигурацию fields в определение вашего магазина или создать определение model, которое может быть применено к хранилищу. После того, как вы сделаете это, вы увидите, что он работает (смотрите пример ниже), связанный

fields: ['id_consult', 'typeref', 'typeentity'], 

Живой пример вашего кода работы: https://fiddle.sencha.com/#fiddle/282

+0

Спасибо большое! Да, для запятых основная причина в том, что я удалил несколько частей кодов там, чтобы получить это яснее, но вы правы, это был беспорядок :(! –

0

Я думаю, что у вас неправильное определение столбцов. Попробуйте изменить столбцы что-то вроде этого:

columns: [ 
{ 
    header: 'Nom', 
    dataIndex: 'id_consult', 
    flex: 1 
}, 
... 
] 
Смежные вопросы