JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.3.1119/styles/kendo.silver.min.css">
<script src="http://cdn.kendostatic.com/2013.3.1119/js/kendo.all.min.js"></script>
<script src="http://knockoutjs.com/downloads/knockout-3.0.0.js"></script>
<script src="http://kendo-labs.github.io/knockout-kendo/js/knockout-kendo.min.js"></script>
<div data-bind="kendoGrid: { data: items, rowTemplate: 'rowTmpl', useKOTemplates: true }"> </div>
<button data-bind="click: addItem">Add Item</button>
<script id="rowTmpl" type="text/html">
<tr data-bind="css:{strong:id%2===0}">
<td data-bind="text: id"></td>
<td>
<input data-bind="value: name" />
</td>
<td>
<a href="#" data-bind="click: $root.removeItem">x</a>
</td>
</tr>
</script>
CSS
.strong { background-color:red; }
JavaScript
var ViewModel = function() {
this.items = ko.observableArray([
{ id: "1", name: ko.observable("apple")},
{ id: "2", name: ko.observable("orange")},
{ id: "3", name: ko.observable("banana")}
]);
this.addItem = function() {
var num = this.items().length + 1;
this.items.push({ id: num, name: "new" + num});
};
this.removeItem = function(item) {
this.items.remove(item);
}.bind(this);
};
ko.applyBindings(new ViewModel());