Flex CSXSInterface вернул данные - PullRequest
0 голосов
/ 16 марта 2012

Моя попытка - создать коллекцию XML данных, возвращаемых экземпляром CSXSI. Из документации, которую я прочитал http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7caf.html

похоже, что XML должен быть возвращен в определенном формате, который я пытался безрезультатно. В идеале я хотел бы сделать код ниже, за исключением того, что что-то явно не так. Данные из функции отправляются во Flex, но когда я пытаюсь поместить их в коллекцию XMLListCollection, я делаю что-то не так.

Есть идеи на этот счет?

// variable declarations---------------------------------------
    private var templateFolder:XML;
    private var templateFolderList:XMLList;
    [Bindable] private var templateFolderCollection:XMLListCollection;

// event handlers-----------------------------------------------
   private function init(event:FlexEvent):void {
                    var labList:SyncRequestResult=CSXSInterface.instance.evalScript("templateHub");                
//returns <template><lab>Daryl</lab></template>
templateFolder = labList.data;
templateFolderList = templateFolder.lab;
//Create an XMLListColection
templateFolderCollection = new XMLListCollection(templateFolderList);
}

1 Ответ

0 голосов
/ 16 марта 2012

Согласитесь с комментариями, в этом коде нет ничего плохого, я взял то, что вы выше, и вставил его в существующий тестовый проект flex mobile 4.6, и он работает нормально, проблема должна быть в вызове функции / возвращаемом значении, я заменилчто со встроенной строкой XML, и это работает.

Нам нужны здесь ошибки (или ошибочное поведение), иначе в принципе невозможно помочь.

<?xml version="1.0" encoding="utf-8"?>
<s:View creationComplete="init(event)"
        title="HomeView"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark">
    <fx:Script>
        <![CDATA[
            import mx.collections.XMLListCollection;
            import mx.events.FlexEvent;

            // variable declarations---------------------------------------
            private var templateFolder : XML;
            private var templateFolderList : XMLList;
            [Bindable]
            private var templateFolderCollection : XMLListCollection;



            // event handlers-----------------------------------------------
            private function init(event : FlexEvent) : void
            {
                //var labList:SyncRequestResult=CSXSInterface.instance.evalScript("templateHub");                
                var labListData : XML = <template><lab>Daryl</lab><lab>Shaun</lab></template>;
                templateFolder = labListData;
                templateFolderList = templateFolder.lab;
                //Create an XMLListColection
                templateFolderCollection = new XMLListCollection(templateFolderList);
            }
        ]]>
    </fx:Script>
    <s:List dataProvider="{templateFolderCollection}"/>

</s:View>

What I see

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...