Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Выборочное изменение цвета строк в DataGrid (http://www.flasher.ru/forum/showthread.php?t=138810)

Deidara 16.04.2010 11:10

Выборочное изменение цвета строк в DataGrid
 
Подскажите пожалуйста, каким образом можно выборочно изменять цвет строк компонента DaraGrid в зависимости от содержимого его dataProvider?

Я попытался сделать это через labelFunction:

Код AS3:

public function dateLabelFuncion(item:Object, column:DataGridColumn):String{
                if(item.expectedDate != null){
                        column.setStyle("backgroundColor", "0xf3f172");
                }               
                return ApplicationUtil.dateFormatter.format(item.startDate)
        }

Но в этом случае он выделяет весь столбец и конечно правильно делает((((
Даже не знаю куда ещё ткнуться((

bastrakov 17.04.2010 10:28

itemRenderer вам в помощь. ну вот кусочек совсем просто:
Код AS3:

 
<mx:DataGridColumn dataField="dg6">
  <mx:itemRenderer>
    <mx:Component>
      <mx:Canvas width="100%" backgroundColor="{((data.dg6) as DayItem).bgColor}"

во

Deidara 18.04.2010 14:44

хмм...Такая мысль мне тоже в голову приходила, но...
8 колонок в DataGrid отображающие исключительно текст и не требующая применения itemRenderer'a. И вот, для решения этой проблемы начинается добавление 8ми рендереров, 8ми лейблов и.т.д.

Честно говоря я ожидал совета в стиле: переопределить такой то такой то метод при создании DataGrid отвечающий за визуальное оформление строки или набора столбцов одной записи и изменить алгоритм назначения цвета.

В любом случае спасибо за ответ)))

Fergus 19.04.2010 12:08

Ну так Вы и переопредлите дефолтный рендерер.


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

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