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

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

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

Регистрация: Aug 2004
Адрес: N. Novgorod
Сообщений: 127
Отправить сообщение для klafuda_klalafu с помощью ICQ
По умолчанию DataGrid с закругленными строками

Хочу сделать нечто подобное :

то есть что бы каждая строка датагрида была закруглена, хочется сделать это с помощью скинования.... как можно такую фишку провернуть?
вставка итемрендерера с закруглениями не катит,
было бы супер если бы кто-то подсказал способ вообще вместо того что бы указывать цвета строк указать путь до картинки с неким фоном для каждого состояния (up, down,...)
Изображения
 

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Хочу сделать нечто подобное :
В левой крайней колонке рендерер со скруглениями слева, в правой крайней справа.
Цитата:
вставка итемрендерера с закруглениями не катит
В связи с чем?
Цитата:
было бы супер...
свой ItemRenderer со своими стилями.

Старый 31.08.2010, 16:55
klafuda_klalafu вне форума Посмотреть профиль Отправить личное сообщение для klafuda_klalafu Найти все сообщения от klafuda_klalafu
  № 3  
Ответить с цитированием
klafuda_klalafu

Регистрация: Aug 2004
Адрес: N. Novgorod
Сообщений: 127
Отправить сообщение для klafuda_klalafu с помощью ICQ
Цитата:
Сообщение от alatar Посмотреть сообщение
свой ItemRenderer со своими стилями.
Не покатит, так как рендерер будет торчать только в тех полях - которые заполнены, а те поля которые пустые - будут квадратными, к тому же: все рендереры будут все равно отображаться в квадратах а мне надо что бы каждая строка - была такой закругленый прямоугольник. И сделать это как-то можно при помощи скинования. Но как?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
рендерер будет "торчать" во всех полях. Вы как его делаете, что он у вас только в заполненных проявляется?

Старый 31.08.2010, 17:28
klafuda_klalafu вне форума Посмотреть профиль Отправить личное сообщение для klafuda_klalafu Найти все сообщения от klafuda_klalafu
  № 5  
Ответить с цитированием
klafuda_klalafu

Регистрация: Aug 2004
Адрес: N. Novgorod
Сообщений: 127
Отправить сообщение для klafuda_klalafu с помощью ICQ
вот пример:
Код AS1/AS2:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   xmlns:mxml="com.dk.mxml*"
			   minWidth="300" minHeight="100" xmlns:mxml1="com.dk.mxml.*">
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->		
	</fx:Declarations>
	<mx:DataGrid left="5" right="5" top="5" bottom="5" dataProvider="{new Array({val:1},{val:2},{val:3})}">
		<mx:columns>
			<mx:DataGridColumn headerText="TEST">
				<mx:itemRenderer>
					<fx:Component>
						<mxml1:RowRenderer/>
					</fx:Component>
				</mx:itemRenderer>
			</mx:DataGridColumn>
		</mx:columns>
	</mx:DataGrid>
</s:Application>
и вот рендерер
Код AS1/AS2:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:fx="http://ns.adobe.com/mxml/2009" 
		 xmlns:s="library://ns.adobe.com/flex/spark" 
		 xmlns:mx="library://ns.adobe.com/flex/mx" cornerRadius="{this.height/2}" dropShadowVisible="false" backgroundColor="0xff0000">
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
</mx:Canvas>
как видно из примера рендерер вставляется только в те ячейчки в которых есть дата.
А мне надо что бы каждая ячейка была стилизована. (да же не заполненая)

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Хмм... действительно. Краткий обзор дал следующие результаты. Прийдется наследоваться от DataGrid и переписывать метод:
Код AS3:
protected function drawRowBackground(s:Sprite, rowIndex:int, y:Number, height:Number, color:uint, dataIndex:int):void
в котором уже рисовать что угодно, или подсовывать картинку из стилей.

Добавлено через 3 минуты
Собственно, это есть в справке.
И судя по-всему, прийдется использовать scale9Slice, если подставлять свой объект, ввиду отсутсвия параметра width

Добавлено через 5 минут
Также следует обратить внимание на метод drawColumnBackground, скорее всего его тоже прийдется переписывать.


Последний раз редактировалось alatar; 31.08.2010 в 18:52.
Старый 01.09.2010, 12:10
klafuda_klalafu вне форума Посмотреть профиль Отправить личное сообщение для klafuda_klalafu Найти все сообщения от klafuda_klalafu
  № 7  
Ответить с цитированием
klafuda_klalafu

Регистрация: Aug 2004
Адрес: N. Novgorod
Сообщений: 127
Отправить сообщение для klafuda_klalafu с помощью ICQ
спасибо агромное, действительно по делу!

Добавлено через 13 часов 42 минуты
нашел по теме
http://www.flasher.ru/forum/showthre...t=ItemRenderer

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

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

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


 


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


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