2012-01-20 1 views
1

У меня есть grid.Panel настроен следующим образом:ExtJS: Скрытый столбец в сетке с указанием данных о магазине перезагружать

var myGrid = new Ext.grid.Panel({ 
       id:'myGridID', 
       layout:'anchor', 
       title:'My Grid', 
       border: false, 
       store:myStore, 
       frame:false, 
       columns:[{header: 'ID', hidden:true, hideable:false, dataIndex: 'data_id'}, 
       {header:'Title', flex:0.3, sortable:true, dataIndex:'data_title'}, 
       {header:'Description', flex:0.7, sortable:true, dataIndex:'data_description'}] 
.... 

Ее должен показывать столбцы название и описание и сохранить столбец ID скрытый (я должен держать потому что мне нужно получить идентификатор выбранной записи).

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

Я использовал эту строку, чтобы перезагрузить магазин:

Ext.getCmp('myGridID').getStore().load() 

Я обнаружил, что, если изменить размер любого столбца (название или описание), данные из столбца ID исчезает.

ответ

0

Почему вы используете 'hideable: false'? Я не думаю, что вы должны указать это, кажется бесполезным. Попробуйте запустить код без него.

+1

Его было довольно долго, так как я спросил об этом, поэтому я уже изменил его. К тому времени я не знал, что сеточки обрабатывают записи, поэтому мне не нужно было загружать идентификатор в сетку, чтобы фактически использовать его. Но, вернувшись к вашему ответу, я думаю, что я использовал hideable: false, потому что, если бы я не мог, пользователь мог бы «отобразить» столбец из меню над сеткой, что позволяет пользователям скрыть столбцы. Установив hideable: false идентификатор столбца не появился (или был отключен) там, чтобы пользователь не мог скрыть или показать этот столбец. – lascort