2015-07-28 6 views
0

Когда я попытался перенастроить свою сетку в afterender с одним из столбцов, заблокированных: true и flex: 1, представление не отображалось.Сетка при переконфигурировании столбцов с заблокированными и гибкими конфигурациями не работает

Я столкнулся с этой проблемой, когда я пытаюсь создать (перенастроить) мою сетку динамически на основе изменения метаданных хранилища. Я вызываю метод перенастройки, но столбцы не блокируются.

enableLocking: true в конфигурации сетки вместе с указанными выше конфигурациями столбцов также не работает. Он выдает следующее сообщение об ошибке: Uncaught TypeError:. LockedGrid.getView (...) getScrollable не является функцией

https://fiddle.sencha.com/#fiddle/r05

Любые решения или указатели будут оценены.

Спасибо и наилучшие пожелания, PD

ответ

0

заблокированных столбцы не поддерживают гибкую ширину.

Если вы проверяете консоль, вы увидите следующее сообщение об ошибке:

Ext.grid.locking.Lockable.getColumnWidth(): Защищенные столбцы с некалиброванным заблокированным не поддерживают гибкую ширину. Вы должны установить ширину в Namecolumn.

enter image description here установить ширину на Namecolumn.

Интересно, почему вы хотите использовать перенастройку в afterrender. Реконфигурация сетки обычно имеет кучу проблем.

Вы всегда можете динамически устанавливать свои столбцы, когда у вас готовые данные о хранении.

+0

Спасибо за ваш ответ, Дшун. Я динамически создаю свои столбцы на основе метаданных, которые загружаются вместе при загрузке магазина в первый раз. Для этого я использую реконфигурирование до/после рендеринга. Блокировка не работает, когда я переконфигурирую. –

+0

его не нужно перенастраивать. вы можете настроить свою сетку, когда ваш магазин загружается, добавить слушателя на загрузку магазина. блокировка сетки работает, однако вы не можете установить flex в заблокированный столбец. – dshun