Demo - FlexGrid

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.input.min.js"></script>
<script src="https://cdn.grapecity.com/wijmo/5.latest/controls/wijmo.grid.min.js"></script>
<div id="gridDefault">
</div>

CSS

body {
    margin: 20px;
}

.wj-flexgrid {
    height: auto;
    width: auto;
}

JavaScript

onload = function() {
    // default grid
    var gridDefault = new wijmo.grid.FlexGrid('#gridDefault', {
    	itemsSource: getData(),
        autoGenerateColumns: false,
        columns: [
        	{ dataType: wijmo.DataType.Boolean,header: 'Boolean', binding: 'bool',},
            {dataType: wijmo.DataType.Number, header: 'Number', binding: 'number', format: 'n2'},
            {dataType: wijmo.DataType.Date, header: 'Date', binding: 'date', format: 'd'}
        ],
        formatItem: function(s, e) {
        	if(typeof e.cell.done !== 'undefined' && e.cell.done) {
            	return;
            }
        	var panel = e.panel, row = e.row, col = e.col;
            
            // Coerce value for the first time since
            // Data type only works after the cell has been edited
        	if(panel.cellType == wijmo.grid.CellType.Cell) {
                var val = panel.getCellData(row, col, false);
                panel.setCellData(row, col, val, true);
                e.cell.done = true;
            }
        }
    });

    // create some random data
    function getData() {
        var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
            data = [];
        for (var i = 0; i < 10; i++) {
        	var date = (new Date(2014, i % 12, i % 28)).toLocaleDateString('en-US');
            data.push({
                bool: (i % 2 == 0).toString(),
                number: (Math.random() * 200000).toString(),
        		date: date
            });
        }
        return data;
    }
}