Я пытаюсь добавить новый объект в кендо-сетку jQuery, но если я добавлю через всплывающее окно, объект заменяется.В этом коде я пытаюсь вытолкнуть данные из этой переменной gridData1, но это не отражается в сетке кендо.
<script>
$(function() {
var gridData = [];
var gridDataNextID = gridData.length + 1;
var gridDataSource = new kendo.data.DataSource({
transport: {
read: function(options) {
options.success(gridData);
},
update: function(options) {
options.success();
},
create: function(options) {
console.log("options: ", options);
var gridData1 = {
Column: {
FieldsID: 1003667,
FieldsName: "Control Number"
},
Condition: {
textName: "==",
valueN: "Is"
},
ID: 2,
LogicalOperator: {
operator: "||",
operatorValue: "OR"
},
enterValueTxt: "mnb"
};
grid.dataSource.data(gridData1);
grid.options.columns = columns;
options.data.ID = gridDataNextID++;
gridData.push(options.data);
options.success(options.data);
grid.refresh();
}
},
schema: {
model: {
id: "ID",
fields: {
ID: {
type: "number",
editable: false
},
Column: {
defaultValue: {
"FieldsID": 1003667,
"FieldsName": "Control Number"
}
},
Condition: {
defaultValue: {
textName: "==",
valueN: "Is"
}
},
enterValueTxt: {
defaultValue: null
},
LogicalOperator: {
defaultValue: {
operator: "||",
operatorValue: "OR"
}
}
}
}
}
});
$("#grid").kendoGrid({
columns: [{
field: "Column",
title: "Column Name",
template: "#: Column.FieldsName #"
},
{
field: "Condition",
title: "Condition Name",
template: "#: Condition.textName #"
},
{
field: "enterValueTxt",
title: "Value",
template: "#: enterValueTxt #"
},
{
field: "LogicalOperator",
title: "Logical Operator",
template: "#:LogicalOperator.operatorValue #"
},
{
command: ["edit", "destroy"]
}
],
toolbar: [{
name: "create",
text: "Add / Edit Record"
}],
editable: {
mode: "popup",
window: {
width: 415,
title: "Add / Edit",
},
template: $("#popupTemplate").html()
},
edit: function(e) {
initDropDownLists();
},
autoBind: true,
dataSource: gridDataSource
});
$('#grid').data('kendoGrid').refresh();
});
</script>