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

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

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

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
По умолчанию DataGrid из XML в AS3

Нужно написать функцию которая бы заполняла DataGrid из XML-а, пробовал написать так, но вылезает ошибка: TypeError: Error #1009: Cannot access a property or method of a null object reference.

Код:
		import mx.rpc.http.HTTPService;
		private function gogogo():void{
			var httpRequest:HTTPService = new HTTPService();
		           httpRequest.url='base.xml';
		           httpRequest.useProxy=false;
		           httpRequest.send();

			MyGrid.dataProvider=httpRequest.lastResult.book.Person;

		}
Если писать в Application примерно тож самое всё выходит, а в actionscript ни как..
Насчет структуры xml, там всё верно.. и она примерно такая:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<book>
  <Person>
    <fio>John Smit</fio>
    <birthday>24 Apr 1987</birthday>
    <phone>1234</phone>
    <group>Family</group>
  </Person>
  <Person>
    <fio>Fenifer Lopez</fio>
    <birthday>14 Aug 2007</birthday>
    <phone>2222</phone>
    <group>Work</group>
  </Person>
  <Person>
    <fio>Ivanov Ivan Ivanovich</fio>
    <birthday>13 Jul 1983</birthday>
    <phone>3333</phone>
    <group>Friends</group>
  </Person>
</book>

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

Регистрация: Sep 2007
Адрес: Путенбург
Сообщений: 147
Код:
			import mx.rpc.events.ResultEvent;
			import mx.rpc.http.HTTPService;
		private var httpRequest:HTTPService = new HTTPService(); 
		private function gogogo():void{
		           httpRequest.url='base.xml';
		           httpRequest.useProxy=false;
		           httpRequest.send();
			httpRequest.addEventListener(ResultEvent.RESULT,getResult);
		}
		private function getResult(event:ResultEvent){
			MyGrid.dataProvider=event.result.book.Person;
		}
__________________
<!-- КРЭКС ПЭКС ФЛЭКС -->

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

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Да получилось.. спасибо.


Последний раз редактировалось BeDLiNt; 19.03.2008 в 10:04.
Старый 28.03.2008, 11:08
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 4  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Нужно чтобы формат был httpRequest.resultFormat='e4x';

Каким образом запарсить XMLList в ArrayCollection?
Делаю так:
Код:
			var myXML:XMLList = new XML(event.result).person;

			var arr:Array = new Array();
			for each (var item:XML in myXML){
				arr.push(item);
			}
			
			ddg = new ArrayCollection(arr);
			...
			...
			referenceGrid.dataProvider = ddg;
Но че то не то.. заполняется только одна строка в гриде.
__________________
2+2=5


Последний раз редактировалось BeDLiNt; 28.03.2008 в 11:56.
Старый 28.03.2008, 12:31
eYeweb вне форума Посмотреть профиль Отправить личное сообщение для eYeweb Найти все сообщения от eYeweb
  № 5  
Ответить с цитированием
eYeweb

Регистрация: Feb 2008
Сообщений: 23
Зачем оно вам? Может так подойдет?

var myXML:XMLListCollection = new XMLListCollection(event.result.person);
referenceGrid.dataProvider = myXML;

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

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
Вообщем написал такой парсер:
Код:
var xXML:XMLList = new XML(event.result).person;

var arr:Array = new Array();
for each (var item:XML in xXML){
	arr.push({fio: item.fio, birthday: item.birthday, phone: item.phone, group: item.group});
}

ddg = new ArrayCollection(arr);
...
...
referenceGrid.dataProvider = ddg;
Думаю мне этого достаточно. Спасибо..
__________________
2+2=5

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

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

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


 


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


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