JSFiddle - React, Tailwind, and code Playground

by valchev

HTML

<script src="http://cdn.kendostatic.com/2012.2.913/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.913/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.2.913/styles/kendo.default.min.css">
<div id="grid" data-role="grid"
    data-scrollable="{virtual: true}"
    data-sortable="true"
    data-height="180"
    data-columns='[{"field": "ID"}, {"field": "Name"}, {"field": "Value"}]'
    data-bind="source: dataSource">
</div>

JavaScript

function createData(count) {
    var result = [],
        item;
    
    for(var i = 1; i < count+1; i++) {
        item = {ID: i, Name: "Item" + i, Value: 10 + i};
        result.push(item);
    }
    
    return result;
}

var storedData = createData(200);

var viewModel = kendo.observable({
    dataSource: new kendo.data.DataSource({
        serverPaging: true,
        pageSize: 10,
        transport: {
            read: function(o) {
                var options = o.data,
                    data = {},
                    from = o.data.skip,
                    to = from + o.data.take;
                
                if(!storedData) {
                    //perform $.ajax request 
                } else { 
                    //or load local data
                    data.d = storedData.slice(from, to); //data
                    data.total = storedData.length; //total
                }
                o.success(data);
            }
        },
        schema: {
            data: "d",
            total: "total",
            model: {
                id: "ID",
                fields: {
                    ID: {type: "number"},
                    Name: {type: "string"},
                    Value: {type: "number"}                    
                }
            }                
        }
    })
});

kendo.bind($("body"), viewModel);