![]() |
dataProvider - скроллинг и изменение данных
Столкнулся вот с какой проблемой, имеются компоненты которые используют для вывода массивы bindable
dataProvider="{arrayRooms}" это может быть и DataGrid и List Вопрос вот в чем - при изменении данных массива чтобы отобразить эти изменения - делаем arrayRooms.refresh() при это происходит автоматический скрол компонента в то место где были изменения, как его отключить ? чтобы при изменения данных пользователь оставался в той позиции списка, где сейчас находится? и попутный вопрос - в itemrender используются изображения с внешних сайтов, в некоторых ячейках списка или таблицы могут быть графические элементы, например статус активный - одно изображение, заблокирован другое, и вот если список довольно большой при скроллинге вниз вверх эти фотографии заново закачиваются (это видно в плагине для mozilla - firebug) - как можно отключить повторную закачку изображений ? P.S. отдельную тему не стал создавать, так как проблемы очень близки друг к другу |
1. Судя по методу refresh() вы используете не массив, а коллекцию. Научите ваши объекты данных отправлять событие PropertyChangeEvent или вызывайте у коллекции itemUpdated(). Это решит ваши "проблемы". refresh() предназначен применения сортировки и фильтра.
Цитата:
2. Кэшируйте изображения и скармливайте компонентам уже загруженные, если они были загружены ранее. Или не обращайте внимание, если сервер настроен правильно, то изображения будут взяты из кэша браузера. |
параметром itemUpdated() является объект. откуда его взять если у меня изменилось всего одно значение из 20 полей ?
создавать новый объект с перечислением этих всех полей ? и изменять только одно из них, как то выглядит не разумно, не уж то нет способа попроще - изменилось одно значение извне (не пользователь изменил datagrid) |
1. Запоминайте позицию скроллера и по событию обновления itemRenderer скроллируйте к ней.
2. В этой теме затронут вопрос кэширования изображений в swf при помощи bitmapData: http://www.flasher.ru/forum/showthread.php?t=148335 |
Какие поля? Какое создание объекта?
Пример для itemUpdated Код AS3:
Цитата:
|
может я чего то не понимаю но код
Код AS3:
P.S. Есть некоторые сдвиги если убрать itemRenderer="showSec" и добавить dataField="timer_sec" то все прекрасно работает, как сделать чтоб с итемрендерором работало ? itemRenderer Код AS3:
|
| Часовой пояс GMT +4, время: 00:34. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.