ODataCollectionViewクラスを使用すると、コントロールをODataソースに簡単に接続できます。ODataCollectionViewを作成すると、ソースからのデータのロードが開始されます。
ODataVirtualCollectionViewはODataCollectionViewを拡張して、データのオンデマンドロードを行います。サーバーのデータは自動的にロードされません。その代わりに、setWindowメソッドを使用して、オンデマンドでデータフラグメント(データウィンドウ)をロードします。
例:
// 注文詳細をODataCollectionViewに取得します
var url = 'https://services.odata.org/Northwind/Northwind.svc';
var table = 'Order_Details_Extendeds';
// 注文詳細をODataVirtualCollectionViewに取得します
var virtualDetails = new wijmo.odata.ODataVirtualCollectionView(url, table, {
loaded: function(sender, e) {
var el = document.getElementById('totalItemCount');
el.innerHTML = wijmo.format('{totalItemCount:n0}個の項目', sender);
}
});
// データをグリッドに表示します
var theVirtualGrid = new wijmo.grid.FlexGrid('#theVirtualGrid', {
itemsSource: virtualDetails, // ODataVirtualCollectionView
isReadOnly: true, // このサービスは読み取り専用です
formatItem: function(s, e) { // 行ヘッダーに行インデックスを表示します
if (e.panel.cellType == wijmo.grid.CellType.RowHeader) {
e.cell.textContent = e.row + 1;
}
},
scrollPositionChanged: function () {
var rng = theVirtualGrid.viewRange;
virtualDetails.setWindow(rng.row, rng.row2);
}
});