繁体   English   中英

如何使用XML数据初始化flex List

[英]How to initialize flex List with XML data

我的应用程序基于Adobe Flex 4

我有一个XML,如下所示:

<data>
   <GENERAL _index="0" DESCRIPTION="DEAD TIME" CODE="D" _count="1"/>
   <REQUEST>
      <PARAMETERS>
         <page>db/ocr_valid_opr_category.xsl,db/sql.xsl</page>
         <maj_cd>COC</maj_cd>
      </PARAMETERS>
   </REQUEST>
</data>

我想使用“常规”选项卡中的数据初始化“列表”(Adobe Flex 4),您看到的是“描述”和“代码”值,这是动态XML,并且不断变化,我如何将“常规”选项卡中的数据设置为数据提供者用于Flex 4中的列表。 我想要Description作为列表的LabelFeild和codeCode作为list的后端值,希望您理解???

你可以试试看

我们需要将List dataProvider的XML结构更改为XMLList,以便仅显示项目列表,因此需要在两者之间添加XML元素。

您可以访问CODE属性,例如list.selectedItem.@CODE.toString()

<?xml version="1.0" encoding="utf-8"?><s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx">   `<fx:Script>
    <![CDATA[
        import mx.collections.XMLListCollection;
        import mx.controls.Alert;

        import spark.events.IndexChangeEvent;

        [Bindable]
        private var xml:XML = <data>
                                <list>
                                   <GENERAL _index="0" DESCRIPTION="DEAD TIME" CODE="D" _count="1"/>
                                   <REQUEST>
                                      <PARAMETERS>
                                         <page>db/ocr_valid_opr_category.xsl,db/sql.xsl</page>
                                         <maj_cd>COC</maj_cd>
                                      </PARAMETERS>
                                   </REQUEST>
                                </list>
                                <list>
                                   <GENERAL _index="1" DESCRIPTION="ENOUGH TIME" CODE="E" _count="2"/>
                                   <REQUEST>
                                      <PARAMETERS>
                                         <page>db/ocr_valid_opr_category.xsl,db/sql.xsl</page>
                                         <maj_cd>COC</maj_cd>
                                      </PARAMETERS>
                                   </REQUEST>
                                </list>
                              </data>;  

        protected function list_changeHandler(event:IndexChangeEvent):void
        {
            Alert.show(list.selectedItem.@CODE.toString());
        }

    ]]>
</fx:Script>

<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<s:layout>
    <s:VerticalLayout/>
</s:layout>

<s:List id="list" labelField="@DESCRIPTION" dataProvider="{new XMLListCollection(XMLList(xml.list.GENERAL))}"
        change="list_changeHandler(event)"/>
</s:WindowedApplication>

首先,您应该使用顶级xml节点来包含xml数据:

    private var xml:XML =
            <xml>
            <data>
              <GENERAL _index="0" DESCRIPTION="DEAD TIME" CODE="D" _count="1"/>
              <REQUEST>
                <PARAMETERS>
                <page>db/ocr_valid_opr_category.xsl,db/sql.xsl</page>
                <maj_cd>COC</maj_cd>
              </PARAMETERS>
             </REQUEST>
           </data>
           </xml>;

      [Bindable]
      private var dataList:XMLListCollection = new XMLListCollection(xmlOne.data);
      ...
      private function labelFunc(item:Object):String {
        return item.GENERAL.@DESCRIPTION;
      }
    ]]>
  </fx:Script>

  <s:VGroup>
    <s:List dataProvider="{dataList}" labelFunction="labelFunc"/>
  </s:VGroup>

引用“ CODE”就像“ DESCRIPTION”:item.GENERAL。@ CODE。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM