Javascript 当使用angular-Kendo.js且字段在模式/模型中定义时,Kendo UI网格不显示编辑的值

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

在以下示例中,已编辑的名字在更新后不会显示。 但是,当我从dataSource.schema.model中删除FirstName字段时,会显示更改

编辑前

编辑

编辑后

在Google Chrome Developer extension for Kendo UI中,我可以看到firstName已从模型中删除,并且记录中添加了属性“model”,而不是firstName属性:

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>