mx:LinkBar,mx:Model,mx:dataProvider
<mx:Script>
var linkData1:Array=["dsgadfg" ,"dg","5ty","5yt"];
</mx:Script>
<mx:Model id="linkData2">
<item>
<label>ewt</label>
<data>rterter</data>
</item>
<item>
<label>ree</label>
<data>dfgdfh</data>
</item>
</mx:Model>
<mx:LinkBar width="100%" height="6%" horizontalAlign="center" click="" borderStyle="outset" backgroundColor="#FFFFFF" dataProvider="{linkData1}"/>
或<mx:LinkBar width="100%" height="6%" horizontalAlign="center" click="" borderStyle="outset" backgroundColor="#FFFFFF" dataProvider="{linkData2.item}"/>
另外一種表達方法為
<mx:LinkBar width="100%" height="6%" horizontalAlign="center" click="" borderStyle="outset" backgroundColor="#FFFFFF" >
<mx:dataProvider>
<mx:Array>
<mx:Object label="AL" data="Montgomery"/>
<mx:Object label="AK" data="Juneau"/>
<mx:Object label="AR" data="Little Rock"/>
</mx:Array>
</mx:dataProvider>
</mx:LinkBar>
mx:dataProvider必須用一個集合類如mx:Array即數組來表達數據,該數組可以是字符數組,如上面定義的linkData1,也可以是一個對象數組.如上面剛剛所寫.其中label和data的名稱是默認屬性名,而label的默認名稱可以由linkbar的屬性labelField來設置,如
<mx:LinkBar width="100%" height="6%" horizontalAlign="center" click="" borderStyle="outset" backgroundColor="#FFFFFF" labelField="label1">
<mx:dataProvider>
<mx:Array>
<mx:Object label1="AL" data="Montgomery"/>
<mx:Object label1="AK" data="Juneau"/>
<mx:Object label1="AR" data="Little Rock"/>
</mx:Array>
</mx:dataProvider>
</mx:LinkBar>
不過我試這種時,竟然不行,label無法顯示出數據,搞不懂是什麼原因.
最後,還有另外一種寫法 <mx:LinkBar width="100%" height="6%" horizontalAlign="center" click="" borderStyle="outset" backgroundColor="#FFFFFF" >
<mx:dataProvider>
{linkData1} 或{linkData2.item}
</mx:dataProvider>
</mx:LinkBar>
在linkbar的click事件event中有四個自有屬性,label,index,relatedNode,data,前三個屬性不多說,最後一個data屬性是一個object,他是click時所在dataProvider的item紀錄的數據的object,也就是上面的如<mx:Object label1="AL" data="Montgomery"/>等這樣是event.data所表達的值.所以如果想取這個item的data值,那麼應該是event.data.data
上面的幾個例子主要說明了mx的控件如linkbar,combox等如何裝載數據以及顯示.dataProvider是mx:LinkBar的一個屬性,從上面的例子可以看出,該屬性值的設置有很多方法可以表達.推而廣之,其他屬性如width,height等同樣也可如此設置.
詳細的請看flex1.5的doc.
MXML學習紀錄一
最新推荐文章于 2021-02-12 11:35:26 发布