我正在使用带有剑道网格的剑道数据源进行内联编辑。当我添加/创建新行时,新行将发布到我的创建 URL(我正在使用帖子)。我的问题出在查询参数中,id 字段的值为零,有没有办法在某些 js 事件中将其设为空或将其从查询字符串中删除。在将其发布到创建 url 之前。
谢谢。
我正在使用带有剑道网格的剑道数据源进行内联编辑。当我添加/创建新行时,新行将发布到我的创建 URL(我正在使用帖子)。我的问题出在查询参数中,id 字段的值为零,有没有办法在某些 js 事件中将其设为空或将其从查询字符串中删除。在将其发布到创建 url 之前。
谢谢。
听起来 ID 应该是一个自动增量字段,在这种情况下,您不会将 id 插入数据库。然后,您的数据源应该有这样的东西(未记录的方法)在创建后刷新网格,这将使用数据库分配的 ID 填充您的 ID 字段:
create: {
url: "[your create url]",
complete: function(e){
$('#grid').data('kendoGrid').dataSource.read();
}
}
那应该可以解决您的问题。
不,最新的 KendoUI 的数据源传输方法没有名为“完成”的参数。您必须使用 jquery ajax 请求。此外,您只能使用 KendoUI 的 trasnport 方法或 jquery ajax。结合是行不通的。例如:
create:function (options) {
$.ajax({
url:base + entityName + "/create",
data:"models=" + kendo.stringify(options.data.models),
type:"POST",
dataType:"json",
async:false,
global:false,
success:function (result) {
if (result.errors == null) {
//GridHandlers.refreshGrid(gridId);
options.success(result);
} else {
GridHandlers.accounceAndResume(gridId, result.errors);
}
},
error:function (xhr, textStatus, errorThrown) {
console.log("Error: " + (errorThrown ? errorThrown : xhr.status));
GridHandlers.accounceAndResume(gridId, "Could not create new record. Connection problem!");
}
});
},
对你来说重要的是你在成功方法中所做的事情。快乐编码!