Javascript 当使用angular-Kendo.js且字段在模式/模型中定义时,Kendo UI网格不显示编辑的值
在以下示例中,已编辑的名字在更新后不会显示。 但是,当我从dataSource.schema.model中删除FirstName字段时,会显示更改 编辑前 编辑 编辑后 在Google Chrome Developer extension for Kendo UI中,我可以看到firstName已从模型中删除,并且记录中添加了属性“model”,而不是firstName属性:Javascript 当使用angular-Kendo.js且字段在模式/模型中定义时,Kendo UI网格不显示编辑的值,javascript,angularjs,kendo-ui,Javascript,Angularjs,Kendo Ui,在以下示例中,已编辑的名字在更新后不会显示。 但是,当我从dataSource.schema.model中删除FirstName字段时,会显示更改 编辑前 编辑 编辑后 在Google Chrome Developer extension for Kendo UI中,我可以看到firstName已从模型中删除,并且记录中添加了属性“model”,而不是firstName属性: data: Array[7] 0: Object{3} Id: 1 Las
data: Array[7]
0: Object{3}
Id: 1
LastName: "ln_1"
models: Array[1]
0: Object{3}
Id: 1
FirstName: "fn_1_changed_to_something_else"
LastName: "ln_1"
1: Object{3}
Id: 2
FirstName: "fn_2"
LastName: "ln_2"
....
我做错了什么?
示例html页面
AngularJS的剑道UI指令
var demoApp=angular.module(“demoApp”[“kendo.directives”]);
demoApp.controller('demoCtrl',函数($scope){
$scope.employees=[
{Id:1,名字:“fn_1”,姓氏:“ln_1”},
{Id:2,名字:“fn_2”,姓氏:“ln_2”},
{Id:3,名字:“fn_3”,姓氏:“ln_3”},
{Id:4,名字:“fn_4”,姓氏:“ln_4”},
{Id:5,名字:“fn_5”,姓氏:“ln_5”},
{Id:6,名字:“fn_6”,姓氏:“ln_6”},
{Id:7,名字:“fn_7”,姓氏:“ln_7”}
];
$scope.mainGridOptions={
数据源:{
数据:$scope.employees,
批次:对,
页面大小:5,
模式:{
型号:{
id:“id”,
字段:{
名字:{type:“string”,验证:{required:true}
//LastName:{可编辑:true}
}
}
}
},
可编辑:“弹出”,
可排序:是的,
pageable:对,
栏目:[{
字段:“名字”,
标题:“名字”,
宽度:“120px”
}, {
字段:“姓氏”,
标题:“姓氏”,
宽度:“120px”
},
{
命令:[{
名称:“编辑”,
文本:{编辑:“自定义编辑”,取消:“自定义取消”,更新:“自定义更新”}
}
,{name:“destroy”,文本:“Remove”}
]
}]
};
});
我发现了问题:
处理本地数据时,不应使用datasource批处理选项
米海巴赞证实
将批处理选项更改为false后,一切又恢复正常。lol…………您如何确定它是什么类型的事件?像更新,删除。。?
<!doctype html>
<html ng-app="demoApp">
<head>
<meta charset="utf-8">
<title>Kendo UI directives for AngularJS</title>
<link href="//cdn.kendostatic.com/2014.1.318/styles/kendo.common.min.css" rel="stylesheet" type="text/css" />
<link href="//cdn.kendostatic.com/2014.1.318/styles/kendo.silver.min.css" rel="stylesheet" type="text/css" />
<script src="//code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="//cdn.kendostatic.com/2014.1.318/js/kendo.all.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-route.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-sanitize.js"></script>
<script src="/Scripts/angular-kendo.js"></script>
<script>
var demoApp = angular.module("demoApp", ["kendo.directives"]);
demoApp.controller('demoCtrl', function($scope) {
$scope.employees = [
{ Id: 1, FirstName: "fn_1", LastName: "ln_1" },
{ Id: 2, FirstName: "fn_2", LastName: "ln_2" },
{ Id: 3, FirstName: "fn_3", LastName: "ln_3" },
{ Id: 4, FirstName: "fn_4", LastName: "ln_4" },
{ Id: 5, FirstName: "fn_5", LastName: "ln_5" },
{ Id: 6, FirstName: "fn_6", LastName: "ln_6" },
{ Id: 7, FirstName: "fn_7", LastName: "ln_7" }
];
$scope.mainGridOptions = {
dataSource: {
data: $scope.employees,
batch: true,
pageSize: 5,
schema: {
model: {
id: "Id",
fields: {
FirstName: { type: "string", validation: { required: true } }
//LastName: { editable: true }
}
}
}
},
editable: "popup",
sortable: true,
pageable: true,
columns: [{
field: "FirstName",
title: "First Name",
width: "120px"
}, {
field: "LastName",
title: "Last Name",
width: "120px"
},
{
command: [{
name: "edit",
text: { edit: "Custom edit", cancel: "Custom cancel", update: "Custom update" }
}
, { name: "destroy", text: "Remove" }
]
}]
};
});
</script>
</head>
<body ng-controller="demoCtrl">
<div>
<div kendo-grid k-options="mainGridOptions"></div>
</div>
</body>
</html>