Copy DataSource
HTML
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.716/styles/kendo.common.min.css">
<link rel="stylesheet" href="http://cdn.kendostatic.com/2013.2.716/styles/kendo.default.min.css">
<script src="http://cdn.kendostatic.com/2013.2.716/js/jquery.min.js"></script>
<script src="http://cdn.kendostatic.com/2013.2.716/js/kendo.all.min.js"></script>
<script src="http://demos.kendoui.com/content/shared/js/people.js"></script>
<button id="copy" class="k-button">Copy DataSource</button>
<div id="grid1"></div>
CSS
#grid {
width : 490px;
}
JavaScript
var data = [
{
"id": 69262,
"type": "problem",
"name": "Master row 1"
},
{
"id": 69263,
"type": "problem",
"name": "Master row 2"
},
{
"id": 1043,
"type": "goal",
"name": "Child row 1",
"parentProblem": 69263,
},
{
"id": 1043,
"type": "goal",
"name": "Child row 2",
"parentProblem": 69263,
}
];
var scope = new kendo.data.ObservableArray(data);
var scope2 = new kendo.data.ObservableArray(data);
var prevent = false;
var prevent2 = false;
var grid1 = $("#grid1").kendoGrid({
dataSource: {
data: scope,
filter: { field: 'type', operator: 'eq', value: 'problem' },
change: function (e) {
if (e.field)
prevent = true;
}
},
dataBinding: function (e) {
if (prevent)
e.preventDefault();
prevent = false;
},
scrollable: false,
editable: true,
columns: [
{ field: 'name', title: 'Name' },
],
detailInit: detailInit
});
function detailInit(e) {
$('<div/>').appendTo(e.detailCell).kendoGrid({
dataSource: {
data: scope2,
change: function (e) {
if (e.field)
prevent = true;
},
filter: [
{ field: 'type', operator: 'eq', value: 'goal' },
{ field: 'parentProblem', operator: 'eq', value: e.data.id }
],
},
scrollable: false,
editable: true,
columns: [
{ field: 'name', title: 'Name' },
]
});
};
$("#copy").on("click", function() {
console.log(blah.data[2].name);
//ds1.at(0).set('name', 'test');
//blah.data[0].name = 'test';
//console.log(ds1.at(0));
//var ds2 = ds1;
//ds2.serverPaging = false;
//ds2.pageSize = 0;
//grid2.setDataSource(new kendo.data.DataSource(ds2));
});