Top > SAStrutsあれこれ > BlazeDSで従業員一覧を表示しましょう(少し発展版)
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
<?xml version="1.0" encoding="utf-8"?>
<!-- (1)applicationComplete="show()"はHTMLのonloadです。-->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" applicationComplete="show()">
    <mx:Script>
        <![CDATA[
            import mx.collections.ArrayCollection;
            import mx.controls.Alert;
            import mx.rpc.events.FaultEvent;
            import mx.rpc.events.ResultEvent;
            
            /** 
             * 非同期でサーバーから従業員リストを取得します。
             */
            private function show():void {
                srv.findAll();
            }
        
            /** 
             * 成功ハンドル
             */
            public function resultHandler(event:ResultEvent):void {
                //DataGridにデータを渡します
                dg1.dataProvider = event.result as ArrayCollection;
            }
        
            /** 
             * 失敗ハンドル。Java側の例外メッセージも表示されます。
             */
            public function faultHandler(event:FaultEvent):void {
                Alert.show(event.fault.message);
            }
            
            //DataGridのDepartmentカラムに値をバインドする
            private function departmentColumnLabelFunction(item:Object, column:DataGridColumn):String {
                return item.department.name;
            }
            
            //DataGridのAddressカラムに値をバインドする
            private function addressColumnLabelFunction(item:Object, column:DataGridColumn):String {
                return item.address.name;
            }
            
        ]]>
    </mx:Script>
    
    <mx:RemoteObject id="srv" destination="employeeService">
        <mx:method name="findAll" result="resultHandler(event)" fault="faultHandler(event)" />
    </mx:RemoteObject>
 
    <mx:Label text="Tutorial: Employee List" width="80%" fontSize="26"/>
    <mx:DataGrid id="dg1" width="80%"  editable="false">
        <mx:columns>
            <mx:DataGridColumn headerText="Id" dataField="id"/>
            <mx:DataGridColumn headerText="Name" dataField="name"/>
            <mx:DataGridColumn headerText="JobType" dataField="jobType"/>
            <mx:DataGridColumn headerText="Salary" dataField="salary"/>
            <mx:DataGridColumn headerText="Department" labelFunction="departmentColumnLabelFunction"/>
            <mx:DataGridColumn headerText="Address" labelFunction="addressColumnLabelFunction"/>
        </mx:columns>
    </mx:DataGrid>
    <mx:Button label="再読込" click="show()"/>
    
</mx:Application>
Everything is expanded.Everything is shortened.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 
 
 
 
 
 
-
|
|
|
|
|
!
    /**
     * 従業員情報を全件取得します。
     * 住所情報と部署情報も結合して取得します。
     * @return
     */
    @Override
    public List<Employee> findAll() {
        return select()
               .innerJoin(address())
               .innerJoin(department())
               .orderBy(asc(id()))
               .getResultList();
    }

添付ファイル: fileblaze_emplist2_2.jpg 194件 [詳細] fileblaze_emplist2_1.jpg 203件 [詳細]

リロード   新規 編集 凍結解除 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2012-08-08 (水) 23:25:56 (2923d)