gpt4 book ai didi

c# - 使用 Kendo Grid 内联创建新记录如何更新新记录的 key ID?

转载 作者:行者123 更新时间:2023-11-30 17:09:48 25 4
gpt4 key购买 nike

在我的 Kendo Grid 中,我有默认的“添加新记录”按钮,我将其设置为可内联编辑。我设法将记录插入到数据库中,但是当用户对这条新记录进行更新时,它缺少 ID。

我的代码如下:

var dataSource = new kendo.data.DataSource(
{
transport: {
read: {
url: '/Reports/Manage/Reports'
},
create: {
url: function (options) {
debugger;
// Ajax call to create a new record in the database
$.ajax(
{
type: 'POST',
url: '/Reports/Manage/CreateNewReport',
data: { name: options.name },
success: function (response) {

我必须在这里做点什么吗???

                            return;
},
error: function (repsonse) {
alert("Manage: CreateNewReport -> Ajax Error!");
}
});
return;
},
dataType: "json"
},
update: {
url: function (options) {
// Ajax call to update the Report Name in the database.
$.ajax(
{
type: 'POST',
url: '/Reports/Manage/UpdateReportName',
data: { reportId: options.reportId, name: options.name },
success: function (response) {
// do nothing
// alert("Successfully Saved Note.");
},
error: function (repsonse) {
alert("Manage: UpdateReportName -> Ajax Error!");
}
});
return;
},
dataType: "json"
}
},
pageSize: 15,
height: 500,
data: reports,
schema:
{
model:
{
id: 'reportId',
fields:
{
name: { editable: true, validation: { required: true } },
}
}
}
});


$reports.kendoGrid(
{
dataSource: dataSource,
pageable: {
refresh: true,
pageSizes: true
},
toolbar: ["create"],
columns:
[
{ field: 'name', title: 'Report', sortable: true },
{ command: ["edit", "destroy"], title: " ", width: "180px", }
],
editable: "inline",
selectable: true,
change: function (e) {
// A new report was selected.
...
}
});

最佳答案

您应该从服务器返回新创建的项目的 ID。检查服务器响应是什么:http://demos.kendoui.com/web/grid/editing-inline.html

您还应该使用内置的传输配置。如果您像这样劫持 url 函数,则 DataSource 不知道服务器响应。这就是我的意思:

transport: {
create: {
url: "/Reports/Manage/CreateNewReport",
type: "POST"
},
parameterMap: function(options, type) {
if (type == "create") {
return {
reportId: options.reportId,
name: options.name
};
}
return options;
}
}

有几个完整的示例展示了如何实现 CRUD:

关于c# - 使用 Kendo Grid 内联创建新记录如何更新新记录的 key ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com