ラベル DataGrid の投稿を表示しています。 すべての投稿を表示
ラベル DataGrid の投稿を表示しています。 すべての投稿を表示

2008年12月26日金曜日

Webにアクセスしてデータグリッドを表示

Webにアクセスして、データグリッドの一覧に表示する方法です。


<mx:HTTPService id="srvDataView" url="http://localhost:8080/selectView.do"
useProxy="false" result="showResult(event)"/>


というタグを作ります。

XMLを返してくれるHTTPにアクセスします。
上記URLは下記XMLを返すRESTサイトです。


<treeView>
<forms>
<treeViewList>
<data>
<name>テスト名称</name>
<id>5</id>
</data>
<data>
<name>XMLデータだよー</name>
<id>6</id>
</data>
<data>
<name>一応ね</name>
<id>7</id>
</data>
</treeViewList>
</forms>
</treeView>


これに対して
データグリッドを準備して

<mx:DataGrid id="treeGrid">
<mx:columns>
<mx:Array>
<mx:DataGridColumn headerText="ID" dataField="id"/>
<mx:DataGridColumn headerText="Name" dataField="name" />
</mx:Array>
</mx:columns>
</mx:DataGrid>


ActionScript上に戻り値のイベントを利用して
その値を設定します。


public function showResult(event:Event):void {
treeGrid.dataProvider = srvDataView.lastResult.treeView.forms.treeViewList.data;
}


これで変更してくれます。

2008年12月4日木曜日

DataGridのカラムに対して処理を行う

データグリッドの文字列をXMLから設定して、
それで処理をやりたいですよね。

・・・ってDataGridの表示を説明してない。。。

ActionScriptに

//データの日付処理
private function changeDate(item:Object, column:DataGridColumn):String {
//item.pubDateって感じでデータにアクセス
//戻す文字列で表示されます。
return "test";
}

って感じのメソッドを作成します。
引数、戻り値はこれで決まってます。

でDataGridColumnにメソッドをlabelFunctionで指定してあげます。
・・・dataFieldには指定しなくても良いのかな?


<mx:DataGridColumn width="250" headerText="日付" dataField="pubDate" labelFunction="changeDate"/>


これでchangeDate()が呼び出されます。
XMLで日付を出してたんですけど、書式を変えたかったのでやってみました。