Demo - Arrays and CollectionViews

HTML

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.grapecity.com/wijmo/5.latest/styles/wijmo.min.css">
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.filter.min.js"></script>
<div class="container">
  <div style="height:300px;">
<wj-collection-view-pager [cv]="cvData"></wj-collection-view-pager>
<wj-flex-grid #Grid
              [itemsSource]="cvData"
              [allowAddNew]="false"
              [isReadOnly]="true">
    <wj-flex-grid-column [header]="'Country'"
                         [binding]="'country'"
                         [width]="'1.3*'">
        <ng-template wjFlexGridCellTemplate
                     [cellType]="'Cell'"
                     let-cell="cell">
            <a href="javascript:void(0)"
               (click)="inputChanged(cell.item.country)">{{cell.item.country}}</a>
        </ng-template>
    </wj-flex-grid-column>
    <wj-flex-grid-column [header]="'Sales'"
                         [binding]="'sales'"
                         [format]="'n2'"
                         [width]="'1*'">
    </wj-flex-grid-column>
    <wj-flex-grid-column [header]="'Expenses'"
                         [binding]="'expenses'"
                         [format]="'n2'"
                         [width]="'1*'">
    </wj-flex-grid-column>
</wj-flex-grid>
  </div>
</div>

TypeScript

onload = function() {

  // create some random data
  @ViewChild('Grid') _grid: WjFlexGrid;
var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(',');
var data = [];
for (var i = 0; i < 1000; i++) {
    data.push({
        id: i,
        country: countries[i % countries.length],
        sales: Math.random() * 10000,
        expenses: Math.random() * 5000
    });
}
this.cvData = new wjcCore.CollectionView(data);
cvData.pageSize = 10;
var filter = new wjcGridFilter.FlexGridFilter(this._grid); //Referred in ViewChild
filter.getColumnFilter('country').valueFilter.maxValues = 2;
 /*var cvData=new wijmo.collections.CollectionView(data,{
 	pageSize:10
 })
  // bind a grid to the raw data
  var theGrid = new wijmo.grid.FlexGrid('#theGrid', {
  	allowSorting: false,
    showSort: false,
  	autoGenerateColumns: false,
    columns: [
    {binding:'id'},
    	{ binding: 'country', header: 'Country', width: '2*'},
    	{ binding: 'sales', header: 'Sales', width: '*', format: 'n2'},
    	{ binding: 'expenses', header: 'Expenses', width: '*', format: 'n2'}
    ],
    itemsSource: cvData
  });
  var filter=new wijmo.grid.filter.FlexGridFilter(theGrid);
  filter.getColumnFilter("id").valueFilter.maxValues=1000;*/
}