Home > AS3 > AS3でDataGridの頭のよさに感動した!2分で作るRSSリーダ

AS3でDataGridの頭のよさに感動した!2分で作るRSSリーダ

  • Posted by: ryow
  • 2008年6月25日 10:57
  • AS3

ステージにボタンとDataGridコンポーネントを置いて、テキストフィールドを作ればほとんど出来たようなものです。
DataGridコンポーネントを初めて使ったんですが、XMLのバインドが驚くほど簡単で感動しました。XMLの構造をまったく知らなくても、タグ名だけ知っていれば使えるこの簡単さがすばらしいですね。その秘密はDataProviderにありました。

フレームスクリプトで全部書いてます。

import fl.controls.DataGrid
import fl.controls.ScrollBar
import fl.controls.dataGridClasses.DataGridColumn
import fl.events.ListEvent
import fl.data.DataProvider

var loader:URLLoader
var dataXml:XML

//xmlを読む
function loadXML(url):void{
  var _url = new URLRequest(url)
  loader = new URLLoader()
  loader.addEventListener(Event.COMPLETE,dataLoad)
  loader.load(_url)
}
//読み込み完了したXMLをDataProviderに入れてDataGridで表示
function dataLoad(e:Event):void{
  dataXml = new XML(loader.data)
  var dp:DataProvider = new DataProvider(dataXml)
  myDataGrid.dataProvider = dp
}
//ボタンを押すとRSSを読む
myBtn.addEventListener(MouseEvent.CLICK,clickfunc)
function clickfunc(e:MouseEvent):void{
  loadXML("http://ryow.net/blog/atom.xml")
}

//DataGridの設定
myDataGrid.columns = ["title","summary"]
myDataGrid.addEventListener(ListEvent.ITEM_CLICK,dgEvent)

//DataGridのアイテムをクリックしたらタイトルを表示
function dgEvent(e:ListEvent):void{
  my_txt.text = e.item.title
}

今回はXMLの方は考えた設計にしてなかったんですが、↑の方法であればXMLのタグの中身をcolumnsにそのまま割り当てて、何も考えずに取得できます。ただ、タグのアトリビュートで表示してるときはちょっと面倒かも。というか調べてないだけなので簡単に出来るのかもしれません。
とにかく、XMLの形がキレイで、すべての情報はタグの中にあるのなら、その表示アプリは2分あれば余裕で作れる、ということですね。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/342
Listed below are links to weblogs that reference
AS3でDataGridの頭のよさに感動した!2分で作るRSSリーダ from ryow.net Blog

Home > AS3 > AS3でDataGridの頭のよさに感動した!2分で作るRSSリーダ

About

りょうどっとねっとブログ

Twitter Id:ryownet

はてなブックマーク Id:ryownet

Search

Return to page top