[英]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.