Показать сообщение отдельно
Старый 01.11.2007, 17:59
MisterX вне форума Посмотреть профиль Отправить личное сообщение для MisterX Найти все сообщения от MisterX
  № 1  
Ответить с цитированием
MisterX
 
Аватар для MisterX

Регистрация: Dec 2005
Адрес: Украина, Ивано-Франковск
Сообщений: 60
Отправить сообщение для MisterX с помощью ICQ Отправить сообщение для MisterX с помощью MSN
По умолчанию DataGrid и itemRenderer

Вопрос подниму ...и выложу исходни к не в архиве. ..
есть простой ХМЛ
Код:
<monitor>
	<router>
		<status>on</status>
		<ip>10.170.0.11</ip>
		<ping>0.66</ping>
		<uptime>2d</uptime>
		<addr>Vovchinecka34234234234</addr>
		<CPU>2</CPU>
	</router>
	<router>
		<status>off</status>
		<ip>255.255.255.255</ip>
		<ping>0.66</ping>
		<uptime>2d</uptime>
		<addr>Vovchinecka3</addr>
		<CPU>30</CPU>
	</router>
	<router>
		<status>on</status>
		<ip>10.170.0.13</ip>
		<ping>0.66</ping>
		<uptime>2d</uptime>
		<addr>Vovchinecka234</addr>
		<CPU>50</CPU>
	</router>
</monitor>
Так вот если выводить его в таблице тоесть DataGrid то все отлично ...
но на последний столбец в таблице мне нужно вывести ProgressBar

Вот сам код

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
		<![CDATA[
			
			public function refresh():void{
				var loader:URLLoader = new URLLoader();
				var request:URLRequest = new URLRequest("test.xml");
				loader.load(request);
				loader.addEventListener(Event.COMPLETE, refreshComplete);
			}
			public function refreshComplete(event:Event):void {
				var dp: XMLList;
    			var loader:URLLoader = URLLoader(event.target);
			    dp = new XMLList(loader.data);
				this.monitorList.dataProvider=new XML(dp).children();
			}

		]]>
	</mx:Script>
	<mx:DataGrid x="10" y="59" width="458" height="226" id="monitorList">
		<mx:columns>
			<mx:DataGridColumn headerText="Status" dataField="status" width="50" textAlign="center"/>
				<mx:DataGridColumn headerText="Addr" dataField="addr"/>
				<mx:DataGridColumn headerText="ІР" dataField="ip" width="110"/>
				<mx:DataGridColumn headerText="Uptime" dataField="uptime" width="150"/>
				<mx:DataGridColumn headerText="TOP" dataField="CPU" itemRenderer="someRender" width="210"/>
		</mx:columns>
	</mx:DataGrid>
	<mx:Button x="10" y="293" label="Button" click="refresh()"/>
	
</mx:Application>

а тут код самого компонента... сам прогрес бар выкинул так как он сейчас именно играет маловажную роль

Код:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init1()">
	<mx:Script>
		<![CDATA[
			private function init1():void{
				trace("Render element --- "+this.data);
			}
		]]>
	</mx:Script>
</mx:Canvas>
так вот ... при клике на кнопку тоесть при чтении хмла ... в котором 3 елемента ...
компонент рендерится 4 раза тоесть первый елемент рендерится и в начале и в конце почемуто ... при повторном чтении ..компонент рендерится один раз ...


После первого раза
Код:
Render element --- <router>
  <status>on</status>
  <ip>10.170.0.11</ip>
  <ping>0.66</ping>
  <uptime>2d</uptime>
  <addr>Vovchinecka34234234234</addr>
  <CPU>2</CPU>
</router>
Render element --- <router>
  <status>off</status>
  <ip>255.255.255.255</ip>
  <ping>0.66</ping>
  <uptime>2d</uptime>
  <addr>Vovchinecka3</addr>
  <CPU>30</CPU>
</router>
Render element --- <router>
  <status>on</status>
  <ip>10.170.0.13</ip>
  <ping>0.66</ping>
  <uptime>2d</uptime>
  <addr>Vovchinecka234</addr>
  <CPU>50</CPU>
</router>
Render element --- <router>
  <status>on</status>
  <ip>10.170.0.11</ip>
  <ping>0.66</ping>
  <uptime>2d</uptime>
  <addr>Vovchinecka34234234234</addr>
  <CPU>2</CPU>
</router>
Второй раз ..
Код:
<router>
  <status>on</status>
  <ip>10.170.0.11</ip>
  <ping>0.66</ping>
  <uptime>2d</uptime>
  <addr>Vovchinecka34234234234</addr>
  <CPU>2</CPU>
</router>

ВОпрос ...что не так ... передавания ХМЛ в дата провайдер какими методами только не пробывал, все одно и тоже