![]() |
|
||||||||||
|
|||||
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ed="ed.*" creationComplete="initEditor()">
<mx:Script>
<![CDATA[
public function initEditor():void
{
var scriptUrl:String = "http://192.168.0.6/index.php";
tree.setUrl(scriptUrl);
tree.loadData();
}
]]>
</mx:Script>
<mx:Panel title="Редактор прайс-листов" height="100%" width="100%" paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10">
<mx:HBox width="100%" height="100%">
<mx:VBox width="25%" height="100%">
<ed:eTree id="tree" width="100%" height="100">
</ed:eTree>
</mx:VBox>
<mx:VBox width="75%" height="100%">
<mx:DataGrid width="100%" height="100%">
</mx:DataGrid>
</mx:VBox>
</mx:HBox>
</mx:Panel>
</mx:Application>
// ActionScript file
package ed
{
import mx.controls.Tree;
import flash.events.Event;
import flash.net.URLRequest;
import flash.net.URLLoader;
public class eTree extends Tree
{
public var url:String;
public var myLoader:URLLoader
public var xml:XML;
public function eTree()
{
super();
}
public function setUrl(newUrl:String):void
{
this.url = newUrl;
}
public function loadData():void
{
xml = new XML();
var myXMLURL:URLRequest = new URLRequest(url+"?do=getXMLTree");
myLoader = new URLLoader(myXMLURL);
myLoader.addEventListener("complete", xmlLoaded);
}
public function xmlLoaded(evtObj:Event):void
{
//trace(xml.);
this.dataProvider = myLoader.data;
}
}
}
PS получаемый XML: <?xml version="1.0" encoding="utf-8"?> <nodes> <node label="Производственное оборудование" path ="01" id="1"> <node label="Металлургическое оборудование" path ="0101" id="2"> <node label="asdfasd" path ="010101" id="294"/> </node> <node label="Металлообрабатывающее оборудование" path ="0102" id="3"/> <node label="Нефтегазоперерабатывающее оборудование" path ="0103" id="4"/> </node> </nodes> Последний раз редактировалось Azy; 07.02.2007 в 15:59. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну правильно, формат данных по дефолту — text.
См. свойство dataFormat у URLLoader. И ещё — сервер выдает верный Content-Type, что это text/xml, а не text/plain? |
|
|||||
|
4AM Games
|
Загружай через HTTPService поставь формат e4x и не парься.
Если XML будет перегружатся или изменятся то сделай цепочку - HTTPService -> XML -> XMLListCollection, тогда при изменении XML, у тебя будет обновлятся автоматически (HTTPService и XMLListCollection байндятся).
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
4AM Games
|
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="dataLoader.send()">
<mx:HTTPService url="data.xml" resultFormat="e4x"
id="dataLoader"/>
<mx:Tree labelField="@label"
showRoot="false">
<mx:XMLListCollection source="{dataLoader.lastResult.children()}"/>
</mx:Tree>
</mx:Application>
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Nirth, не MXML единым
![]() Тем более, тут кастомный компонент. |
|
|||||
|
__etc
вот-вот =) хочу чтобы все динамически подгружалось. в смысле методами класса а не зависило от того что там в mxml-e написано Проблема решена добавил labelField="@label". |
|
|||||
|
4AM Games
|
Цитата:
То на каком языке это напишет автор не играет никакой роли, мне просто быстрее MXML.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^ |
![]() |
![]() |
Часовой пояс GMT +4, время: 05:01. |
|
|
« Предыдущая тема | Следующая тема » |
|
|