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

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

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

Регистрация: Jan 2007
Сообщений: 16
По умолчанию Переменная Boolean в dataProvider из XML

Код AS3:
<?xml version="1.0"?>
<!-- itemRenderers\inline\CBInlineCellEditor.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			[Bindable]
			private var myDP:ArrayCollection = new ArrayCollection([
			{label1:"Order #2314", contact:"John Doe", quant:3, solddate:new Date(2005, 0, 1), Sent:true},
			{label1:"Order #2315", contact:"Jane Doe", quant:3, solddate:new Date(2005, 0, 5), Sent:false}
			]);
		]]>
	</mx:Script>
	<mx:DataGrid id="myDG" dataProvider="{myDP}" variableRowHeight="true" width="500" height="250" editable="true">
		<mx:columns>
			<mx:DataGridColumn dataField="label1" headerText="Order #" editable="false"/> <mx:DataGridColumn dataField="quant" headerText="Quantity" itemEditor="mx.controls.NumericStepper" editorDataField="value"/>
			<mx:DataGridColumn dataField="solddate" headerText="Date" itemRenderer="mx.controls.DateField" rendererIsEditor="true" editorDataField="selectedDate"/>
			<mx:DataGridColumn dataField="Sent" itemRenderer="mx.controls.CheckBox" rendererIsEditor="true" editorDataField="selected"/>
		</mx:columns >
	</mx:DataGrid>
</mx:Application>
так CheckBox'ы отмечаются:
{label1:"Order #2314", contact:"John Doe", quant:3, solddate:new Date(2005, 0, 1), Sent:true},
{label1:"Order #2315", contact:"Jane Doe", quant:3, solddate:new Date(2005, 0, 5), Sent:false}

а так нет:
{label1:"Order #2314", contact:"John Doe", quant:3, solddate:new Date(2005, 0, 1), Sent:"true"},
{label1:"Order #2315", contact:"Jane Doe", quant:3, solddate:new Date(2005, 0, 5), Sent:"false"}

проблема не в этом примере но схожа 1 в 1, просто заполняю datagrid через dataProvider не из массива, а из XML подгружаемого из вне, где все данные идут в String а как там указать тип boolean?

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="500" height="600" xmlns:myComp="com.Managers.*"  creationComplete="loadManagersList();">
<mx:Script>
	<![CDATA[
		import mx.collections.XMLListCollection;
		import mx.collections.ArrayCollection;
		import mx.events.CollectionEvent;
		import mx.rpc.events.FaultEvent;
		import mx.rpc.events.ResultEvent;
		import mx.controls.Alert;
		import mx.controls.CheckBox;
 
		[Bindable]
		private var managersCollection:XMLListCollection = new XMLListCollection();
 
		public function requestResultManagersListHandler(event:ResultEvent):void
		{
			managersCollection.source= event.result.manager as XMLList;
		}
 
		public function requestFaultHandler(event:FaultEvent):void
		{
			Alert.show("err"+event.message.toString());
		}
 
		public function loadManagersList():void
		{
			userRequest.cancel();
			userRequest.addEventListener(ResultEvent.RESULT,requestResultManagersListHandler);
			userRequest.resultFormat = "e4x";
			userRequest.showBusyCursor = true;
			userRequest.url = "managers.xml?"+Math.random();
			userRequest.method = "GET";
			userRequest.send();
		}
 
	]]>
</mx:Script>
<mx:HTTPService id="userRequest" fault="requestFaultHandler(event);"/>
	<mx:VBox left="0" right="0" top="0" bottom="0">
		<mx:VBox height="100%" width="100%">
			<mx:AdvancedDataGrid id="adgManagers" width="100%" height="249" dataProvider="{managersCollection}"  editable="true">
				<mx:columns>
					<mx:AdvancedDataGridColumn dataField="check" itemRenderer="mx.controls.CheckBox" rendererIsEditor="true" editorDataField="selected" />
					<mx:AdvancedDataGridColumn headerText="Column 1" dataField="name" />
					<mx:AdvancedDataGridColumn headerText="Column 2" dataField="family"/>
					<mx:AdvancedDataGridColumn headerText="Column 3" dataField="telephone"/>
				</mx:columns>
			</mx:AdvancedDataGrid>
	</mx:VBox>
</mx:Canvas>
Сам XML
Код:
<?xml version="1.0" encoding="windows-1251" ?>
<managers>
<manager><name>name</name><family>family</family><telephone>1111</telephone><check>1</check></manager>
<manager><name>name</name><family>famildfgy</family><telephone>11fgg11</telephone><check>true</check></manager>
<manager><name>namefgdfg</name><family>fdfgamily</family><telephone>dfgdfg1111</telephone><check>TRUE</check></manager>
</managers>
как сделать чтобы чек боксы отмечались как в самом верхнем примере где данные грузятся из локального массива???
Заранее спасибо!


Последний раз редактировалось bleed; 01.07.2009 в 21:32.
Старый 01.07.2009, 21:32
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Генерируйте типизированые велью-обжекты из ХМЛя, или паристе в рендерере (хуже).
ХМЛ это, по-сути, строка, никакой тип вы там не укажите.
__________________
Hell is the possibility of sanity

Старый 01.07.2009, 21:37
bleed вне форума Посмотреть профиль Отправить личное сообщение для bleed Найти все сообщения от bleed
  № 3  
Ответить с цитированием
bleed

Регистрация: Jan 2007
Сообщений: 16
спасибо, но не понял вот это
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Генерируйте типизированые велью-обжекты из ХМЛя
это как?

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

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

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


 


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


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