我用外键列创建了我的MVC Kendo Grid,即columns.ForeignKey()。出现一个下拉列表,当我从列表中选择一个项目时,它既未标记更新记录,也未在服务器上触发任何ajax _Update。
突然间我发现每个带有组合框的网格都有这个问题。不知道如何进一步挖掘它。如果这是一个错误,那么我应该在哪里寻找现有的错误及其解决方法?
以下js文件存在于我的_Layout
中> /2014.2.903/jquery.min.js
> /2014.2.903/kendo.all.min.js
> /2014.2.903/kendo.aspnetmvc.min.js
> /2014.2.903/kendo.modernizr.custom.js
修改 Take care of the nullable model properties
这是一个需要注意的重要注意事项。如果您的模型由整数,浮点数或甚至字节类型的可空属性组成,则Kendo网格将无法在创建或编辑事件时将模型属性更新为其值。它是Kendo网格中的一个已知错误,在其编辑器模板中有Kendo下拉列表。
解决方案:搜索网格中的所有下拉菜单,检索值并手动设置模型。在这里' Ordermaster'是我的网格的名称。它适用于GridEditMode.InLine。
function onSave(e) {
// kendo nullable dropdown bug workaround
$("#Ordermaster tbody [data-role=dropdownlist]").each(function () {
var ddl = $(this).data("kendoDropDownList");
if (ddl) {
var v = ddl.value();
var p = ddl.list.attr('id').replace('-list', ''); //<< TODO: optimize it
if(p) e.model.set(p, v);
}
})
}
答案 0 :(得分:0)
网格下拉工作,我们使用它很多。
选择项目后,您必须将更改回发给服务器。加速编辑模式(incell,inline),您可以在某个位置保存更改。 您还需要提供发送数据的创建和更新URL。还要确保HttpVerbs是正确的。 Kendo默认使用POST作为所有动作(如果我正确地回忆起他们使用POST的Read)。
当您的密钥可以为空时,可能会出现另一个问题。然后kendo将密钥解释为对象。 See here