Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Присвоение значений компонентам на ранее не открытой вкладке (http://www.flasher.ru/forum/showthread.php?t=145180)

Freedom77 01.10.2010 01:29

Присвоение значений компонентам на ранее не открытой вкладке
 
Как ПРАВИЛЬНО присвоить значения компонентам, которые размещены на ранее не открытой вкладке. При присвоении значения одновременно с командой ...selectedChild= ... выдаёт ошибку о не существовании компоненты. Если значение присвоить в событии creationComplete то всё нормально. Но как быть если таких значений большое количество? Не прописывать же их для каждой компоненты отдельно.

alatar 01.10.2010 02:29

О каких значениях речь?

Волгоградец 01.10.2010 11:32

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

Freedom77 01.10.2010 11:55

Цитата:

Сообщение от alatar (Сообщение 940018)
О каких значениях речь?

Например в Label внести определённое значение.

Добавлено через 2 минуты
Цитата:

Сообщение от Волгоградец (Сообщение 940044)
Если вкладок немного, то можно создать их все сразу, а не создавать каждую при открытии.

Не совсем верно на мой взгляд. Это займёт дополнительное время при генерации.

alatar 01.10.2010 16:59

Цитата:

Не прописывать же их для каждой компоненты отдельно.
А как вы себе это представляли?
Объясните поподробнее, чего вы хотите добиться, я вас явно не понимаю.
P.S. На абстрактный вопрос, можно получить только абстрактный ответ.

Freedom77 02.10.2010 23:03

Цитата:

Сообщение от alatar (Сообщение 940146)
Объясните поподробнее, чего вы хотите добиться, я вас явно не понимаю.

Есть TabNavigator с несколькими вкладками. Например в одной вкладке ввожу данные в текстовое поле, а в другом нужно отобразить.
Как делаю:
На первой вкладке рядом с текстовым полем кнопка, по нажатию на которую происходит:
1) Присвоение например в label введенного значения
2) Переход на вторую вкладку.

Ошибка на 1 шаге. Так как label не отрисован, соответственно присвоить значение не получается (хотя странно что система не видит какие компоненты у неё расположены).
Смена порядка выполнения 1 и 2 пункта роль не играет.

Можно прилепить присвоение значения в CreateComplete 2 вкладки. Но это разово, и при повторном переходе уже не работает. Пока не могу найти событие, которое выполняется при каждом переходе на определённый NavigatorContent.

alatar 03.10.2010 01:55

1. Проверить создан ли компонент (после первого перехода он уже будет создан). Можно просто обернуть в try catch.
2. Если создан, то присваиваем значения, если не создан, то присваиваем по creationComplete
Ну и переход в любом месте по-вкусу.

Freedom77 03.10.2010 05:55

Идея как раз такая была. Не подскажите как провести проверку на существование компоненты?

alatar 03.10.2010 14:13

Можно просто обернуть в try catch присвоение значений.

Freedom77 04.10.2010 01:25

Неужели разработчики не учитывали такой случай, быть не может. Облазил все сайты, путного ответа как решить стандартным путём не нашёл.
Должен же быть стандартный путь присвоения значения компонентам расположенным в приложении, несмотря на то что та или иная вкладка или ещё что-то не открывалось.


Часовой пояс GMT +4, время: 23:30.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.