Ajaxフレームワーク ユーザーズガイド
目次 索引 前ページ次ページ

第2章 クライアントフレームワーク> 2.6 その他の定義

2.6.3 データプロバイダ

UI部品のプロパティのうち、object型プロパティおよびarray型プロパティについては、objectのプロパティを更新したり、arrayの要素を追加/削除したりするなど、値の一部を更新して、表示内容に反映することができます。このプロパティの値の一部分を更新することを、部分更と呼びます。
この部分更新を行うために、データプロバイダがあります。

以下に、データプロバイダを利用して、テーブル部品(TableView)に新たな行を追加する例を示します。

<script type="text/javascript">
//<![CDATA[
var modelData = {
    tableData: [
      {name: 'ITEM1', price:1000},
      {name: 'ITEM2', price:2000}
    ]
};

function add() {                                                          // (1)
    var newItem = {name:'NEW', price:3000};
    model1.getDataProvider("tableData").addItem(newItem);
}
//]]>
</script>
  (省略)
<div rcf:id="model1" rcf:type="Model" rcf:object="modelData"></div>

<div rcf:id="table1" rcf:type="TableView" rcf:data="{model1.tableData}">  // (2)
  <div rcf:type="ViewColumn" rcf:name="name" rcf:label="品名"></div>
  <div rcf:type="ViewColumn" rcf:name="price" rcf:label="価格"></div>
</div>

<div rcf:type="Button" rcf:onClick="add()">追加</div>                     // (3)

上記の例では、(3)のボタンがクリックされると、(1)のadd()関数が呼ばれるようになっています。
add()関数では、ModelからテーブルのデータであるtableDataのデータプロバイダを取得し、addItem()関数を利用して新しい配列要素を追加しています。
また、(2)のテーブル部品(TableView)がtableDataをバインディングしており、addItem()関数で変更されたことにより、テーブルの表示内容に1行追加されます。

以下に、画面例を示します。

以下に、部分更新に関する注意事項を示します。

データプロバイダの種類およびAPIについては、“UI部品リファレンス”を参照してください。


目次 索引 前ページ次ページ

Copyright 2009 FUJITSU LIMITED