Edit in JSFiddle

// 初期化
var time, items, rows,
  flexGrid = new wijmo.grid.FlexGrid('#flexGrid'),
  filter = new wijmo.grid.filter.FlexGridFilter(flexGrid);
flexGrid.columns.defaultSize = 100;
rowsChanged();
createData();
setData();
document.getElementById("createData").innerText = "-";
document.getElementById("setData").innerText = "-";
document.getElementById("applyFilter").innerText = "-";
document.getElementById("sort").innerText = "-";
document.getElementById("unbound").innerText = "-";


// 行数/列数を変更
function rowsChanged() {
  rows = Number(document.getElementById('rows').value);
}
// データを作成
function createData() {
  timeStart();
  items = [];
  for (var r = 1; r <= rows; r++) {
    items.push({
      ID: r,
      列1: r + ', ' + 1,
      列2: r + ', ' + 2,
      列3: r + ', ' + 3,
      列4: r + ', ' + 4,
      列5: r + ', ' + 5,
      列6: r + ', ' + 6,
      列7: r + ', ' + 7,
      列8: r + ', ' + 8,
      列9: r + ', ' + 9,
      列10: r + ', ' + 10,
      列11: r + ', ' + 11,
      列12: r + ', ' + 12,
      列13: r + ', ' + 13,
      列14: r + ', ' + 14,
      列15: r + ', ' + 15,
      列16: r + ', ' + 16,
      列17: r + ', ' + 17,
      列18: r + ', ' + 18,
      列19: r + ', ' + 19,
      列20: r + ', ' + 20,
      列21: r + ', ' + 21,
      列22: r + ', ' + 22,
      列23: r + ', ' + 23,
      列24: r + ', ' + 24,
      列25: r + ', ' + 25,
      列26: r + ', ' + 26,
      列27: r + ', ' + 27,
      列28: r + ', ' + 28,
      列29: r + ', ' + 29,
      列30: r + ', ' + 30,
      列31: r + ', ' + 31,
      列32: r + ', ' + 32,
      列33: r + ', ' + 33,
      列34: r + ', ' + 34,
      列35: r + ', ' + 35,
      列36: r + ', ' + 36,
      列37: r + ', ' + 37,
      列38: r + ', ' + 38,
      列39: r + ', ' + 39,
      列40: r + ', ' + 40,
      列41: r + ', ' + 41,
      列42: r + ', ' + 42,
      列43: r + ', ' + 43,
      列44: r + ', ' + 44,
      列45: r + ', ' + 45,
      列46: r + ', ' + 46,
      列47: r + ', ' + 47,
      列48: r + ', ' + 48,
      列49: r + ', ' + 49,
      列50: r + ', ' + 50,
      列51: r + ', ' + 51,
      列52: r + ', ' + 52,
      列53: r + ', ' + 53,
      列54: r + ', ' + 54,
      列55: r + ', ' + 55,
      列56: r + ', ' + 56,
      列57: r + ', ' + 57,
      列58: r + ', ' + 58,
      列59: r + ', ' + 59,
      列60: r + ', ' + 60,
      列61: r + ', ' + 61,
      列62: r + ', ' + 62,
      列63: r + ', ' + 63,
      列64: r + ', ' + 64,
      列65: r + ', ' + 65,
      列66: r + ', ' + 66,
      列67: r + ', ' + 67,
      列68: r + ', ' + 68,
      列69: r + ', ' + 69,
      列70: r + ', ' + 70,
      列71: r + ', ' + 71,
      列72: r + ', ' + 72,
      列73: r + ', ' + 73,
      列74: r + ', ' + 74,
      列75: r + ', ' + 75,
      列76: r + ', ' + 76,
      列77: r + ', ' + 77,
      列78: r + ', ' + 78,
      列79: r + ', ' + 79,
      列80: r + ', ' + 80,
      列81: r + ', ' + 81,
      列82: r + ', ' + 82,
      列83: r + ', ' + 83,
      列84: r + ', ' + 84,
      列85: r + ', ' + 85,
      列86: r + ', ' + 86,
      列87: r + ', ' + 87,
      列88: r + ', ' + 88,
      列89: r + ', ' + 89,
      列90: r + ', ' + 90,
      列91: r + ', ' + 91,
      列92: r + ', ' + 92,
      列93: r + ', ' + 93,
      列94: r + ', ' + 94,
      列95: r + ', ' + 95,
      列96: r + ', ' + 96,
      列97: r + ', ' + 97,
      列98: r + ', ' + 98,
      列99: r + ', ' + 99
    });
  }
  timeLog('createData');
}
// データを設定
function setData() {
  flexGrid.itemsSource = null;
  flexGrid.columns.clear();
  timeStart();
  flexGrid.itemsSource = items;
  timeLog('setData');
}
// フィルターを適用
function applyFilter() {
  timeStart();
  filter.getColumnFilter(0).conditionFilter.condition1.value = rows / 2;
  filter.getColumnFilter(0).conditionFilter.condition1.operator = wijmo.grid.filter.Operator.GT;
  filter.apply();
  timeLog('applyFilter');
}
// ソートを実行
function sort() {
  timeStart();
  flexGrid.select(new wijmo.grid.CellRange());
  flexGrid.collectionView.sortDescriptions.clear();
  flexGrid.collectionView.sortDescriptions.push(new wijmo.collections.SortDescription('ID', false));
  timeLog('sort');
}
// 非連結グリッドを作成
function unbound() {
  flexGrid.itemsSource = null;
  flexGrid.columns.clear();
  timeStart();
  flexGrid.beginUpdate();
  for (var r = 1; r <= rows; r++) {
    flexGrid.rows.push(new wijmo.grid.Row());
  }
  flexGrid.columns.push(new wijmo.grid.Column());
  flexGrid.columns[0].header = 'ID';
  for (var c = 1; c <= 99; c++) {
    flexGrid.columns.push(new wijmo.grid.Column());
    flexGrid.columns[c].header = '列' + c;
  }
  for (var r = 1; r <= rows; r++) {
    flexGrid.setCellData(r - 1, 0, r);
    for (var c = 1; c <= 99; c++) {
      flexGrid.setCellData(r - 1, c, r + ', ' + c);
    }
  }
  flexGrid.endUpdate();
  timeLog('unbound');
}

function timeStart() {
  time = Date.now();
}

function timeLog(id) {
  time = Date.now() - time;
  document.getElementById(id).innerText = wijmo.Globalize.format(time, 'n0') + ' ms';
  wijmo.Clipboard.copy(time.toString());
}
<div class="container">
  <div>
    <label for="rows">行数</label>
    <select id="rows" onchange="rowsChanged()">
      <option>10000</option>
      <option>100000</option>
      <option>500000</option>
    </select>&emsp;&emsp;
  </div>
</div>
<div class="container">
  <div>
    <button onclick="createData()">データ作成</button><br>
    <span id="createData">&nbsp;</span>
  </div>
  <div>
    <button onclick="setData()">データ設定</button><br>
    <span id="setData"></span>
  </div>
  <div>
    <button onclick="applyFilter()">フィルター</button><br>
    <span id="applyFilter"></span>
  </div>
</div>
<div class="container">
  <div>
    <button onclick="sort()">ソート</button><br>
    <span id="sort"></span>
  </div>
  <div>
    <button onclick="unbound()">非連結</button><br>
    <span id="unbound"></span>
  </div>
  <div>
    <button onclick="wijmo.Clipboard.copy(time.toString())">結果をコピー</button>
  </div>
</div>
<div id="flexGrid"></div>