私のサンプルアプリケーション(Java + Flex)のJavaクラスメソッドでは..
public class Sample
{
public ArrayList method1()
{
ArrayList al =new ArrayList();
al.add("one");
al.add("TWO");
}
Flex 側では、Blazed 接続を接続します... すべてが完全に完了し、私MXML file code
は
public var userService:Sample = new Sample();
protected function init_Call(event:FlexEvent):void
{
var rpcSearchResult:AsyncToken = userService.method1();
rpcSearchResult.addResponder(new mx.rpc.Responder(success, failure));
}
[Bindable]public var ac:ArrayCollection = new ArrayCollection();
public function success(event:ResultEvent):void
{
ac=event.result as ArrayCollection;
Alert.show("Result : "+ac.getItemAt(0,0));
}
public function failure(event:FaultEvent):void
{
Alert.show("This is Fault Event");
}
... ... ...
<s:DataGrid id="dataGrid" left="12" right="12" top="49" bottom="54" horizontalCenter="0"
requestedRowCount="4" verticalCenter="-3" dataProvider="{ac}">
<s:columns>
<s:ArrayList>
<s:GridColumn dataField="one" headerText="FirstValue"></s:GridColumn>
<s:GridColumn dataField="two" headerText="SecondValue"></s:GridColumn>
</s:ArrayList>
</s:columns>
</s:DataGrid>
しかし、DataGrid では値を取得できませんが、ResultEvent 関数 Alert は「1」、「2」の値を正しく表示します。