Wijmoには、CollectionViewを拡張してODataソースのサポートを提供するODataCollectionViewクラスが用意されています。
ODataはOASIS標準で、RESTful APIを構築および使用するためのベストプラクティスを定義します。ODataを使用すると、ビジネスロジックに集中しながらRESTful APIを構築することができます。リクエストヘッダーやレスポンスヘッダーを定義するさまざまな方法、ステータスコード、HTTPメソッド、URL表記規則、メディアタイプ、ペイロードフォーマット、クエリーオプションなどを考える必要はありません。
ODataCollectionViewクラスを使用するには、データサービスのURL、アクセスするテーブルの名前、およびオプションパラメータを渡して新しいインスタンスを作成します。オプションパラメータでは、取得するフィールドや、フィルタ処理/ソート/ページングをサーバーとクライアントのどちらで実行するかを指定します。
データソースが書き込みをサポートしている場合は、キーフィールドを必ず含めます。
次の例は、公開(読み取り専用)ODataソースからNorthwindの顧客リストをロードする方法を示しています。
グリッドの上のレコードカウンタは、データがバッチ単位でロードされる様子を示します。この処理は、ODataサーバーで実行されます。
この例では、フィルタ処理とソートはサーバーで実行されます。
// Northwind ODataサービスから顧客リストを取得します
var url = 'https://services.odata.org/Northwind/Northwind.svc';
var customers = new wijmo.odata.ODataCollectionView(url, 'Customers', {
sortOnServer: true,
filterOnServer: true
});
// データをグリッドに表示します
var itemCountElement = document.getElementById('itemCount');
var theGrid = new wijmo.grid.FlexGrid('#theGrid', {
itemsSource: customers, // ODataCollectionView
isReadOnly: true, // このサービスは読み取り専用です
loadedRows: function() {
itemCountElement.innerHTML = theGrid.rows.length + '個の項目'
}
});
// グリッドにフィルタを追加します
var f = new wijmo.grid.filter.FlexGridFilter(theGrid);