Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.09.2011, 14:05
maljavka вне форума Посмотреть профиль Отправить личное сообщение для maljavka Найти все сообщения от maljavka
  № 1  
Ответить с цитированием
maljavka

Регистрация: Aug 2011
Сообщений: 30
По умолчанию Окрасить строку в DataGrid от spark

Здравствуйте.
Имеется DataGrid с одной колонкой всего. Много строк. Строки надо красить в разные цвета, в зависимости от содержания. Как можно это сделать? По форуму порылся, но так и не обнаружил для спаркового...
Или может подскажете другой подходящий компонент? Где несколько проще красить?.. Сам компонент не принципиален. Основные условия - построчный вывод. Полосы прокрутки. Отработка кликов по строкам и в общем-то всё...

Старый 13.09.2011, 14:34
saprahan вне форума Посмотреть профиль Отправить личное сообщение для saprahan Найти все сообщения от saprahan
  № 2  
Ответить с цитированием
saprahan

Регистрация: Mar 2011
Сообщений: 48
в mxataGrid :

Код AS1/AS2:
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);
}

Старый 13.09.2011, 14:47
maljavka вне форума Посмотреть профиль Отправить личное сообщение для maljavka Найти все сообщения от maljavka
  № 3  
Ответить с цитированием
maljavka

Регистрация: Aug 2011
Сообщений: 30
Ясно. Переопределить функцию. Для спарковского грида такого нет сразу?

Старый 13.09.2011, 15:24
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
List (ну или DataGrid, но смысла в этом нет), ItemRenderer.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 15.09.2011, 12:32
maljavka вне форума Посмотреть профиль Отправить личное сообщение для maljavka Найти все сообщения от maljavka
  № 5  
Ответить с цитированием
maljavka

Регистрация: Aug 2011
Сообщений: 30
Вот нашел такой код:
Код AS3:
<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>
Не могу понять... Помогите разобраться. Задача такая: Как добавлять динамически данные? у меня просто структура XML несколько другая. И при выводе данных должны присутствовать if(). Как в данном случае добавлять данные в dataGrid? XML при этом меняться не должна. До этого я создавал ArrayCollection и добавлял данные из XML уже туда используя if() и другое. Но как при этом использовать set data?
Ну и соответственно цвет должен меняться в зависимости от данных...
Спасибо


Последний раз редактировалось maljavka; 15.09.2011 в 12:36.
Старый 15.09.2011, 19:45
Dimitry_II вне форума Посмотреть профиль Отправить личное сообщение для Dimitry_II Найти все сообщения от Dimitry_II
  № 6  
Ответить с цитированием
Dimitry_II

Регистрация: Jan 2010
Сообщений: 211
Как вариант ...
Код AS3:
<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>
P.S. Ваял прямо тут,поэтому могут быть очепятки.

Старый 16.09.2011, 11:28
maljavka вне форума Посмотреть профиль Отправить личное сообщение для maljavka Найти все сообщения от maljavka
  № 7  
Ответить с цитированием
maljavka

Регистрация: Aug 2011
Сообщений: 30
Идея понята и реализована... Только через override.
Спасибо

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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