|
|
|||||
Регистрация: Aug 2011
Сообщений: 30
|
Окрасить строку в DataGrid от spark
Здравствуйте.
Имеется DataGrid с одной колонкой всего. Много строк. Строки надо красить в разные цвета, в зависимости от содержания. Как можно это сделать? По форуму порылся, но так и не обнаружил для спаркового... Или может подскажете другой подходящий компонент? Где несколько проще красить?.. Сам компонент не принципиален. Основные условия - построчный вывод. Полосы прокрутки. Отработка кликов по строкам и в общем-то всё... |
|
|||||
Регистрация: Mar 2011
Сообщений: 48
|
в mxataGrid :
override protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void { var renderer:IListItemRenderer = indexToItemRenderer(dataIndex); var data:Object = renderer.data; //color = function(data) super.drawRowBackground(s, rowIndex, y, height, color, dataIndex); } |
|
|||||
Регистрация: Aug 2011
Сообщений: 30
|
Ясно. Переопределить функцию. Для спарковского грида такого нет сразу?
|
|
|||||
Регистрация: Aug 2011
Сообщений: 30
|
Вот нашел такой код:
<mx:XML id="testData" xmlns=""> <root> <book> <author>Peter F. Hamilton</author> <title>Pandora Star</title> <image>assets/pandoras_star_.jpg</image> <date>Dec 3, 2004</date> </book> <book> <author>Peter F. Hamilton</author> <title>Judas Unchained</title> <image>assets/judas_unchained.jpg</image> <date>Feb 28, 2006</date> </book> </root> </mx:XML> <mx:DataGrid id="dataGrid" x="29" y="303" width="694" height="190" dataProvider="{testData.book}" variableRowHeight="true"> <mx:columns> <mx:DataGridColumn headerText="Title" dataField="title"> <mx:itemRenderer> <mx:Component> <mx:HBox paddingLeft="0"> <mx:Script> <![CDATA[ override public function set data( value:Object ) : void { super.data = value; setStyle("backgroundColor",0xff0000); } ]]> </mx:Script> <mx:Text id="mytext" width="100%" text="{data.title}" /> </mx:HBox> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> Ну и соответственно цвет должен меняться в зависимости от данных... Спасибо Последний раз редактировалось maljavka; 15.09.2011 в 12:36. |
|
|||||
Регистрация: Jan 2010
Сообщений: 211
|
Как вариант ...
<mx:XML id="testData" xmlns=""> <root> <book><author>Peter F. Hamilton</author><title>Pandora Star</title><image>assets/pandoras_star_.jpg</image><date>Dec 3, 2004</date></book> <book><author>Peter F. Hamilton</author><title>Judas Unchained</title><image>assets/judas_unchained.jpg</image><date>Feb 28, 2006</date></book> </root> </mx:XML> <fx:Script> <![CDATA[ public function setColor(item:Object):String { if (item.title == "Pandora Star") return "#00ff00"; return "#ff0000"; } ]]> </fx:Script> <fx:Declarations> <mx:ArrayCollection id="books" list="{testData.book}"/> </fx:Declarations> <mx:DataGrid id="dataGrid" x="29" y="303" width="694" height="190" dataProvider="{books}" variableRowHeight="true"> <mx:columns> <mx:DataGridColumn headerText="Title" dataField="title"> <mx:itemRenderer> <mx:Component> <mx:HBox paddingLeft="0" backgroundColor="{parentDocument.getColor(data)}"> <mx:Text id="mytext" width="100%" text="{data.title}"/> </mx:HBox> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> |
|
|||||
Регистрация: Aug 2011
Сообщений: 30
|
Идея понята и реализована... Только через override.
Спасибо |
Часовой пояс GMT +4, время: 00:35. |
|
« Предыдущая тема | Следующая тема » |
|
|