從後端的資料庫取得 xml,裡面有 title, url, date 等欄位。有多筆資料。每次取出時,筆數不一定。
現在將它以兩欄的方式顯示,第一欄顯示日期,第二欄,顯示標題。這個標題底下是一個超連結。 mouse click 時,會轉到 url 所指向的網址。
現在用兩個控制項來作。第一個欄位用 label,第二個欄位用 linkbutton。
label 只要設定 label.text = date 就完成了。
第二欄位要用 linkbutton 的 data 屬性。這個屬性可以放入你想放的資料。後面再把它取出來。
用 for each 來跑筆數的迴圈。courseCol 是取得 xml 後資料所存放的陣列物件。addACourse 在迴圈裡,逐筆呼叫,以便產生一列列的項目出來。
for each (var c:Object in courseCol){
addACourse(c);
}
關鍵在底下。將 url 的值放入 linkbutton 物件的 data 屬性裡。並且要把 click 事件的處理程式掛到它身上。
private function addACourse(o:Object):void{
var myHBox:HBox = new HBox();
var myLabel:Label = new Label();
var myLB:LinkButton = new LinkButton();
myLabel.text = o.date;
myLB.label = o.title;
myLB.data = o.url;
myLB.addEventListener(MouseEvent.CLICK, goto_url);
myHBox.addChild(myLabel);
myHBox.addChild(myLB);
myPanel.addChild(myHBox);
}
處理程式宣告如下:在事件發生時,從 e 取得發生的對象物身上的資料。然後把視窗轉過去就行了。
private function goto_url(e:Event):void{
var url:String = e.currentTarget.data ;
navigateToURL(new URLRequest(url), "_self");
}
- Mar 14 Fri 2008 21:11
關於 Flex 的 LinkButton
close
全站熱搜
留言列表
發表留言