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