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

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

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

Регистрация: May 2007
Сообщений: 9
По умолчанию Как подружить Datagrid и внешний XML в AS3?

делал как в хелпе:

1. Create a new Flash file (ActionScript 3.0) document.
2. In the Components panel, double-click the DataGrid component to add it to the Stage.
3. In the Property inspector, enter the instance name aDg.
4. Open the Actions panel, select Frame 1 in the main Timeline, and enter the following ActionScript code:
Код:
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var teamXML:XML = <team>
        <player name="Player A" avg="0.293" />
        <player name="Player B" avg="0.214" />
        <player name="Player C" avg="0.317" />
</team>;

var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Name";
nameCol.width = 120;
var avgCol:DataGridColumn = new DataGridColumn("avg");
avgCol.headerText = "Average";
avgCol.width = 60;

var myDP:DataProvider = new DataProvider(teamXML);

aDg.columns = [nameCol, avgCol];
aDg.width = 200;
aDg.dataProvider = myDP;
aDg.rowCount = aDg.length;
Все работает.

а когда пробую подключить внешний XML перестает робить:
Код:
var loader:URLLoader;
// ...
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE, xmlLoaded);

var request:URLRequest = new URLRequest("xmldata.xml");
loader.load(request);
//...
function xmlLoaded(event:Event):void {
    var myXML:XML = new XML(loader.data);
    //...
}

import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;


var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Name";
nameCol.width = 120;
var avgCol:DataGridColumn = new DataGridColumn("avg");
avgCol.headerText = "Average";
avgCol.width = 60;

var myDP:DataProvider = new DataProvider(myXML);

aDg.columns = [nameCol, avgCol];
aDg.width = 200;
aDg.dataProvider = myDP;
aDg.rowCount = aDg.length;
пробовал разными способами, никак не получается...
подскажите плиз
собственно Adobe Flash CS3, ActionScript 3.0


Последний раз редактировалось zluk; 04.05.2007 в 13:10.
Старый 04.05.2007, 11:49
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 2  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
у вас выполняется
Код:
var myDP:DataProvider = new DataProvider(myXML);
раньше чем
Код:
var myXML:XML = new XML(loader.data);
делайте выводы

Старый 04.05.2007, 11:50
zluk вне форума Посмотреть профиль Отправить личное сообщение для zluk Найти все сообщения от zluk
  № 3  
Ответить с цитированием
zluk

Регистрация: May 2007
Сообщений: 9
спасибо, пошел думать

Старый 04.05.2007, 12:01
zluk вне форума Посмотреть профиль Отправить личное сообщение для zluk Найти все сообщения от zluk
  № 4  
Ответить с цитированием
zluk

Регистрация: May 2007
Сообщений: 9
вроде поправил, вылезли другие ошибки...

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

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
ну так это же хорошо ) знаете в чем проблема, хуже когда они не вылазят и не знаешь в чем проблема

Старый 04.05.2007, 12:21
zluk вне форума Посмотреть профиль Отправить личное сообщение для zluk Найти все сообщения от zluk
  № 6  
Ответить с цитированием
zluk

Регистрация: May 2007
Сообщений: 9
пошел эксперементировать

Старый 04.05.2007, 12:37
zluk вне форума Посмотреть профиль Отправить личное сообщение для zluk Найти все сообщения от zluk
  № 7  
Ответить с цитированием
zluk

Регистрация: May 2007
Сообщений: 9
По умолчанию никак...

Сделал так:

Код:
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;


var myXML:XML;
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest("xmldata.xml");
loader.load(request);
loader.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void
{
    var loader:URLLoader = event.target as URLLoader;
    if (loader != null)
    {
        myXML = new XML(loader.data);
        trace(myXML.toXMLString());
		
		
    }
    else
    {
        trace("loader is not a URLLoader!");
    }
}


var nameCol:DataGridColumn = new DataGridColumn("name");
nameCol.headerText = "Name";
nameCol.width = 120;
var avgCol:DataGridColumn = new DataGridColumn("avg");
avgCol.headerText = "Average";
avgCol.width = 60;

var myDP:DataProvider = new DataProvider(myXML);

aDg.columns = [nameCol, avgCol];
aDg.width = 200;
aDg.dataProvider = myDP;
aDg.rowCount = aDg.length;

пишет ошибку:
Код:
TypeError: Error #1088: The markup in the document following the root element must be well-formed.
	at test2_fla::MainTimeline/onComplete()
	at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/flash.net:URLLoader::onComplete()
XML:
Код:
<?xml version="1.0"?>
<team>
        <player name="Player A" avg="0.293" />
        <player name="Player B" avg="0.214" />
        <player name="Player C" avg="0.317" />
</team>


Последний раз редактировалось zluk; 04.05.2007 в 12:42.
Старый 04.05.2007, 12:50
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 8  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
попробуйте сначала слушателя добавить а потом load сделать

Старый 04.05.2007, 12:51
zluk вне форума Посмотреть профиль Отправить личное сообщение для zluk Найти все сообщения от zluk
  № 9  
Ответить с цитированием
zluk

Регистрация: May 2007
Сообщений: 9
что такое слушатель?

Старый 04.05.2007, 13:00
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 10  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
EventListener, но это я прогнал со сменой мест, не в этом дело

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

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

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


 


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


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