JSFiddle - React, Tailwind, and code Playground

by valchev

HTML

<script src="http://cdn.kendostatic.com/2012.1.515/js/kendo.all.min.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.1.322/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.1.322/styles/kendo.default.min.css">
<div id="grid"></div>

JavaScript

var dataSource = new kendo.data.DataSource({
    schema: {
        model: {
            id: "foo",
            fields: {
                foo: {type: "number"},
                bar: {type: "string"},
                isEditable: {type: "boolean"}
            }
        }
    },
    transport: {
        read: {
            //using jsfiddle echo service to simulate JSON endpoint
            url: "/echo/json/",
            dataType: "json",
            type: "POST",
            data: {
                // /echo/json/ echoes the JSON which you pass as an argument
                json: JSON.stringify([
                    { foo: 1, bar: "a", isEditable: false },
                    { foo: 2, bar: "b", isEditable: false },
                    { foo: 3, bar: "c", isEditable: true }
                ])
            }
        },
        update: {
            url: "test"
        }
    }
});

$("#grid").kendoGrid({
    dataSource: dataSource,
    editable: "inline",
    columns: [
        "foo", 
        "bar",
        { command: "edit" }
    ],
    dataBound: function(e) {
        var view = this.dataSource.view();
        for (var i = 0; i < view.length; i++) {
            if(!view[i].isEditable) {
                var row = this.tbody.find("tr[data-uid=\"" + view[i].uid + "\"]");
                row.find("td:last").html("not editable!");
            }
        }
    }
});