使用OData和Kendo Grid在DB Issue中插入

时间:2014-09-15 12:51:14

标签: sql kendo-ui kendo-grid odata kendo-datasource

我正在使用带有Odata类型数据源的Kendo Grid。 我在从数据源创建数据库中的新行时遇到了麻烦。 这是我的数据源代码:

var ds = new kendo.data.DataSource({
            type: "odata",
            transport: {
                read: {
                    url: baseUrl,
                    dataType: "json"
                },
                update: {
                    url: function (data) {
                        return baseUrl + "('" + data.ID_Agenzia + "')";
                    }
                },
                create: {
                    url: baseUrl
                },
                destroy: {
                    url: function (data) {
                        return baseUrl + "('" + data.ID_Agenzia + "')";
                    }
                }
            },
            schema: {
                model: {
                    id: "ID_Agenzia",
                    fields: {
                        ID_Agenzia: { type: "string" },
                       // etc... my other fields omitted for brevity.
                    }
                }
            },
            pageSize: 20,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true
        });

然后我尝试使用自动工具栏创建一个简单的网格(非常标准,我想我可以省略代码),使用此DS。

据我所知,Kendo有一个方法“isNew”来识别Create / Update,它检查ID是否为===为默认值。 我发现谷歌搜索的所有例子都使用ID作为数字增量值......但在我的表中,ID是一个字符串(显然是唯一的),需要由用户插入!!

希望我已经很好地解释了,问题应该是明确的:如果用户插入ID,数据源将无法识别它是一个创建操作... 否则,如果我使用手动ID插入,则创建将起作用...但是行将以默认值(空字符串)插入到DB中,这是错误的!

我该如何解决这个问题? 感谢。

[编辑]上瘾信息: 我正在使用最新版本的Kendo-ui和Odata 2.0

0 个答案:

没有答案