Ext: связать formpanel после загрузки хранилищ данных для комбо - PullRequest
0 голосов
/ 03 марта 2011

В Ext Js-приложении, над которым я работаю, у меня есть formpanel, который содержит (среди прочих элементов управления) три комбинированных списка, каждый из которых имеет свое хранилище данных. Мне нужно загрузить форму с существующими данными и отобразить их в форме. Это работает для всех элементов управления simpel (текстовые поля, флажки), но есть проблема с полями со списком.

Каждый комбинированный список использует хранилище данных, но я вижу, что перед загрузкой формы собственных данных загружается только одно хранилище, в результате чего один комбинированный список отображает правильный текст, а два других - значение. Если я щелкну и закрою поле со списком, не делая выделения, появится правильный текст.

Есть ли способ отложить загрузку формы или привязку формы до тех пор, пока не загрузятся все хранилища данных? Хранилища данных являются локальными хранилищами с автозагрузкой, и formpanel вызывает собственную загрузку в событии afterlayout.

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Проблема в том, что setValue, выполняемое при загрузке вашей формы, выполняется до фактической загрузки хранилищ со списками.

Вы можете попытаться внедрить исправление, которое было предложено животным из ExtJS в этой ветке форума на sencha.com: http://www.sencha.com/forum/showthread.php?75751-OPEN-42-ComboBox-s-setValue-call-with-a-remotely-loaded-Store

По сути, он просто задерживает вызов setValue в любом комбинированном окне до тех пор, пока хранилище этого комбинированного блока не будет полностью загружено.

0 голосов
/ 03 марта 2011

Загрузить панель формы после завершения рендеринга.Есть ли какая-то конкретная причина, по которой вы загружаете форму в событие afterlayout?

Загружать форму в событии afterrender , а не в afterlayout.событие afterrender происходит, когда вся форма полностью отображается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...