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