Ajaxフレームワーク ユーザーズガイド |
目次 索引 |
第2章 クライアントフレームワーク | > 2.6 その他の定義 |
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部品リファレンス”を参照してください。
目次 索引 |