[]
        
(Showing Draft Content)

가상 OData에 FlexGrid 바인딩

ODataCollectionView 클래스는 컨트롤을 OData 소스에 연결하는 간단한 방법을 제공합니다. ODataCollectionView를 생성하면 소스의 데이터 로드가 시작됩니다.

ODataVirtualCollectionViewODataCollectionView를 확장하여 온디맨드(on-demand) 데이터 로드를 제공합니다. 서버에서 데이터를 자동으로 로드하지 않습니다. 대신 요청 시 setWindow 메서드에 의존하여 데이터프래그먼트 (창)을 로드합니다.

예시:

import * as wjCore from '@grapecity/wijmo';
import * as wjOdata from '@grapecity/wijmo.odata';
import * as wjGrid from '@grapecity/wijmo.grid';

// get order details into an ODataCollectionView
var url = 'https://services.odata.org/Northwind/Northwind.svc';
var table = 'Order_Details_Extendeds';

// get order details into a ODataVirtualCollectionView
var virtualDetails = new wjOdata.ODataVirtualCollectionView(url, table, {
    loaded: function(sender, e) {
        var el = document.getElementById('totalItemCount');
        el.innerHTML = wjCore.format('{totalItemCount:n0} items', sender);
    }
});
  
// show the data on a grid
var theVirtualGrid = new wjGrid.FlexGrid('#theVirtualGrid', {
    itemsSource: virtualDetails, // ODataVirtualCollectionView
    isReadOnly: true, // this service is read-only
    formatItem: function(s, e) { // show row indices in row headers
            if (e.panel.cellType == wjGrid.CellType.RowHeader) {
                e.cell.textContent = e.row + 1;
            }
    },
    scrollPositionChanged: function () {
        var rng = theVirtualGrid.viewRange;
        virtualDetails.setWindow(rng.row, rng.row2);
    }
});