5.20241.9

グリッド:ODataへの連結

Wijmoには、CollectionViewを拡張してODataソースのサポートを提供するODataCollectionViewクラスが用意されています。

ODataOASIS標準で、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);