Kendo/MVVM/Grid settings

HTML

<script src="http://cdn.kendostatic.com/2012.3.1315/js/kendo.all.min.js"></script>
<script src="http://include.jaydata.org/datajs-1.0.3.js"></script>
<script src="http://include.jaydata.org/jaydata.js"></script>
<script src="http://include.jaydata.org/jaydatamodules/kendo.js"></script>
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1315/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2012.3.1315/styles/kendo.default.min.css">
<div id="container">
    <h1>data-editable: true</h1>
    <ul>
    <li>delete auto commit: false (add save/cancel toolbar buttons)</li>
    <li>collect multiple edits/batch: true</li>
    <li>edit: click  the cell to edit</li>
    </ul>
    <div data-role="grid" data-sortable="true"   data-bind="source: taskSource, editable:isEditable" data-columns='["Todo", "Completed", {"command": [ "destroy"]  }]' 
    data-toolbar='["create","save","cancel"]' >       
    </div>
    <h1>data-editable: popup</h1>
    <ul>
    <li>delete auto commit: true</li>
    <li>collect multiple edits/batch: false</li>
    <li>edit: add edit button</li>
    </ul>
    <div data-role="grid" data-sortable="true" data-editable="popup" data-bind="source: taskSource" data-columns='["Todo", "Completed", {"command": [ "destroy","edit"] }]'
    data-toolbar='["create"]'>
        
    </div>    
    <h1>data-editable: inline</h1>
    <ul>
    <li>delete auto commit: true</li>
    <li>collect multiple edits/batch: false</li>
    <li>edit: add edit button, full row is editable</li>
    </ul>
    <div data-role="grid" data-sortable="true" data-editable="inline" data-bind="source: taskSource" data-columns='["Todo", "Completed", {"command": [ "destroy","edit"] }]'
     data-toolbar='["create"]'>
        
    </div>        
</div>

CSS

.product-view {
    float: left;
    width: 320px;
    margin: 5px;
    padding: 3px;
    -moz-box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.1);
    -webkit-box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.1);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}
.product-view dl {
    margin: 10px 0;
    padding: 0;
    min-width: 0;
}
.product-view dt, dd {
    float: left;
    margin: 0;
    padding: 0;
    height: 30px;
    line-height: 30px;
}
.product-view dt {
    clear: left;
    padding: 0 5px 0 15px;
    text-align: right;
    opacity: 0.6;
    width: 100px;
}
.k-listview {
    border: 0;
    padding: 0;
    min-width: 0;
}
.k-listview:after, .product-view dl:after {
    content:".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
.edit-buttons {
    text-align: right;
    padding: 5px;
    min-width: 100px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
}
.k-toolbar, #listView, .k-pager-wrap {
    width: 660px;
    margin: 0 auto;
    -webkit-border-radius: 11px;
    -moz-border-radius: 11px;
    border-radius: 11px;
}
#listView {
    width: 674px;
}
span.k-invalid-msg {
    position: absolute;
    margin-left: 6px;
}

JavaScript

$(function () {
    
    var Task = $data.define("Task", {
        Todo: String,
        Completed: Boolean
    });

    var viewModel = kendo.observable({
        taskSource: Task.asKendoDataSource(),
        isEditable:true,
        addNew: function () {
            $('#listView').getKendoListView().add();  
            //viewModel.taskSource.add();
        },
    });
    kendo.bind($("#container"), viewModel);

    //add some data if db is empty
    Task.readAll()
        .then(function (items) {
            if (items.length == 0) {
                return Task.addMany([{ Todo: 'Include script files', Completed: true }, 
                                     { Todo: 'Define model', Completed: true }, 
                                     { Todo: 'Connect data to grid' }]);
            }
        }).then(function() {
            viewModel.taskSource.fetch();
        });


});