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

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

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

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 489
Отправить сообщение для Snut с помощью ICQ Отправить сообщение для Snut с помощью MSN Отправить сообщение для Snut с помощью Skype™
По умолчанию custom renderer checkBox

Приветствую всех, вообщем есть задача сделать в датагриде колонку с чекбоксами, хмл имеет вид:
Код:
		<user>
			<url><![CDATA[http://www.snut.ru/projects/customrender/1.jpg]]></url>
			<name>Snut</name>
			<selected>true</selected>
		</user>
		<user>
			<url><![CDATA[http://www.snut.ru/projects/customrender/2.jpg]]></url>
			<name>Андрей</name>
			<selected>true</selected>
		</user>
		<user>
			<url><![CDATA[http://www.snut.ru/projects/customrender/3.jpg]]></url>
			<name>Юля</name>
			<selected>false</selected>
		</user>
		<user>
			<url><![CDATA[http://www.snut.ru/projects/customrender/4.jpg]]></url>
			<name>Степан</name>
			<selected>true</selected>
		</user>
		<user>
			<url><![CDATA[http://www.snut.ru/projects/customrender/5.jpg]]></url>
			<name>ХЗкто</name>
			<selected>true</selected>
		</user>
попыток написать custom renderer было много, например:
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" verticalCenter="0" horizontalCenter="0" verticalAlign="middle" horizontalAlign="center">
<mx:Script>
	<![CDATA[
		
	]]>
</mx:Script>
	<mx:CheckBox id="check" selected="{data.selected}" />
</mx:VBox>
но положительных результатов это не принесло, хелп уже до дыр затер, но не приходит мне нормально true или false, помогите справиться с задачей. спасибо


UPD! проблема решена, но по-моему несколько криво...
Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" verticalCenter="0" horizontalCenter="0" verticalAlign="middle" horizontalAlign="center" creationComplete="init()">
<mx:Script>
	<![CDATA[
		private function init():void
		{
			var flag:String = data.selected;
			if(flag == "true")
			{
				check.selected = true;
			}
			else
			{
				check.selected = false;
			}
		}
	]]>
</mx:Script>
	<mx:CheckBox id="check"/>
</mx:VBox>
про тип Boolean говорить не надо, яж попробывал

UPD! а вот и нет, не решена, при сортировке полей датагрида улетает чекбокс вот черт знает как его заставить работать так как хочется. А точнее как надо.
__________________
Работаю


Последний раз редактировалось Snut; 11.12.2007 в 10:24.
Старый 11.12.2007, 20:30
FlexOkeks вне форума Посмотреть профиль Отправить личное сообщение для FlexOkeks Найти все сообщения от FlexOkeks
  № 2  
Ответить с цитированием
FlexOkeks
 
Аватар для FlexOkeks

Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
Цитата:
Сообщение от Snut
хелп уже до дыр затер
В хелпе как раз для DataGrid больше примеров, а мне нужно было для Tree. Хелп я тоже потер, как Аладин лампу , но делал отдельным классом, что-то типа:
Код:
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    <![CDATA[
      import mx.core.ClassFactory;
        public function initCellEditor():void {
          myDataGrid.itemRenderer=new ClassFactory(MyItemRenderer);
      }
    ]]>
  </mx:Script>
  <mx:DataGrid id="myDataGrid" variableRowHeight="true"
      initialize="initCellEditor();">
  </mx:DataGrid>
</mx:Application>
MyItemRenderer.as
Код:
package {
	import mx.controls.dataGridClasses.DataGridItemRenderer;
	public class MyItemRenderer extends DataGridItemRenderer {
		public function MyItemRenderer() {
		}
		override public function data(value:Object):void {
			super.data = value;
			//тут можно добавить чекбокс
		}
		override public function validateDisplayList():void{
			super.validateDisplayList();
			//тут можно обновлять свойства
		}
		
	}
}
__________________
<!-- КРЭКС ПЭКС ФЛЭКС -->

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

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

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


 


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


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