![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Реально ли сделать сабж? На всякий поясню: в зависимости от одного из значений данных датасорса строка должна содержать ItemRenderer, наример, либо с ЧекБоксом либо с РадиоБаттоном. Реально ли такое сделать в принципе? Если реально - то как?
|
|
|||||
|
Лично я решал эту задачу, с помощью одного itemRender'a в котором был ViewStack. Возможно, это был не рационально - но тогда сгодилось.
|
|
|||||
|
Пасиб, хорошее решение. Если можно, кинь примерчик, а то я идею понял, но никак не соображу, как прикрутить... :-/
|
|
|||||
|
Сделал программно. В реднерере. НО!!! Допустим в dataProvider возвращается 2 записи. Рендерер при этом вызывается 2+1 раза! Т.е. он еще и для заголовка вызывается??? Как это обойти?
|
|
|||||
|
Для заголовка пользуется headerRenderer - это совсем другой ренедерер, если конечно и его задали тем же самым - то он и вызовется, в противном случае не должен.
Для того чтобы понять какой элемент в ViewStack пользовать, переопределите сеттер set data и смотрите что туда приходит и от этого значения дальше меняйте, что там вам нужно. |
|
|||||
|
Цитата:
Цитата:
И вопрос в том, что мой рендерер при 2-х записях вызывается 3 раза. И када через 10 сек. обновляем данные (отправляем на сервак запрос и получаем те же 2 записи), то происходит смещение моих компонентов. Если на пальцах: - при отображении ДатаГрида ЧекБокс РадиоБаттон - через 10 сек ЧекБокс ЧекБокс - еще через 10 сек РадиоБаттон ЧекБокс и т.д. Т.е. как бы по кругу ходит. Подозреваю, что это происходит потому, что при инициализации создается 3 объекта, а отображается тока 2. Один как бы в очереди остается и отображается тока при след. апдейте... Вот примерно так. Если что непонятно - спрашиваете, попробую продетализировать. |
|
|||||
|
Регистрация: Mar 2008
Сообщений: 57
|
У меня такая же проблема.. Я заметил что это именно первая строка дважды инициализируется, исправил костылями..
|
|
|||||
|
Ребят, а вы их добавляете просто как addChild()? Если да, то подозреваю происходит следущее.
Ваш дата провайдер обновляется/переписывается/меняется о чем уведомляется рендерер. Это может происходить много раз (приходит data) ,и вы каждый раз чего-то добавляете - и эти компоненты там просто копятся. Выход: пользовать states в рендерере (достаточно медленная) или viewStack. Если красивые рендереры нужны для редактирования каких-то специальных значений (например числа NumbericStepper'ом), то стоит смотреть в сторону ItemEditor'ов, т.к. такие "сложные" рендереры не самые быстрые. |
|
|||||
|
Цитата:
![]() |
|
|||||
|
Цитата:
При обновлении data Childы добавляются с одинаковыми id-шниками... )) так что не копятся... Не должны по крайней мере. ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:02. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| datagrid , itemrenderer |
|
|