Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Синхронная загрузка Ext.data.Store 
V
    Опции темы
Paher
Дата 4.9.2012, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



Доброго времени суток, уважаемые!

Проблема у меня такая: есть у меня Ext.data.Store. Когда я ее использую в Grid или Combobox(свойство store), все работает, как надо, данные в этих элементах отображаются. Теперь же эту ds я хочу использовать для заполнения текстового поля. проблема в том, что программа не дожидается, пока данные в Store загрузятся, а работает дальше, что ,естественно, вызывает ошибку. Как я понимаю, в Grid и Combobox есть какие-то механизмы, которые позволяют сначала дождаться загрузки данных, и только потом с ними работать. Не знает ли кто таких механизмов для работы со Store напрямую?
PM MAIL   Вверх
skyboy
Дата 4.9.2012, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



Цитата(Paher @  4.9.2012,  15:32 Найти цитируемый пост)
 Как я понимаю, в Grid и Combobox есть какие-то механизмы, которые позволяют сначала дождаться загрузки данных, и только потом с ними работать

ага. подписываются на событие load
Цитата(Paher @  4.9.2012,  15:32 Найти цитируемый пост)
Не знает ли кто таких механизмов для работы со Store напрямую? 

в смысле? события и getAt? так в доке ж есть…
PM MAIL   Вверх
Paher
Дата 5.9.2012, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



getAt и события я уже нашел, проблема в том чтобы вызвать getAt после события. Т.е. теоретически знаю, как сделать, практически не могу. Попробую объяснить подробнее. У меня есть таблица. При клике на какую-нибудь строку открывается окно с дополнительными данными. Дополнительные данные загружаются через Store. Мне надо сделать так, чтобы окно визуализировалось только после загрузки Store. Другими словами получается, что функция визуализации является обработчиком комбинированного события (клик на строке таблицы плюс загрузка Store). Собственно, вопрос, как реализовать это комбинированное событие? Возможно, решение простое, но я его не вижу
PM MAIL   Вверх
skyboy
Дата 5.9.2012, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



клик по таблицы вызывает метод load у store. до этого на store вешается обработчик события load, который покажет окно. окно при отображении тянет данные из стора, которые уже должны быть загружены.
PM MAIL   Вверх
Paher
Дата 7.9.2012, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



В окне должна отображаться инфа и из выбранной строки таблицы и из STORE. И я не могу найти способ передать данные выбранной строки в обработчик on.load для STRORE для отображения

Это сообщение отредактировал(а) Paher - 7.9.2012, 22:10
PM MAIL   Вверх
skyboy
Дата 7.9.2012, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



событие выбора строки уходит в контроллер
контроллер инициализирует стор и устанавливает обработчик: когда стор загружается, чтоб показалось окно. в том же куске кода через замыкание можно передать в код создания окна инфо о выбранной строке.
PM MAIL   Вверх
Paher
Дата 9.9.2012, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 18.8.2009

Репутация: нет
Всего: нет



я могу ошибаться, плохо знаю ExtJS, но, по-моему, контролеры появились только в 4 версии. Я же работаю с древней версией 2. В любом случае, отказался от возможностей extjs в данном вопросе, использовал обычный синхронный XMLHttpRequest и получил то, что хотел. Спасибо за помощь

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.