KendoUI Grid中的异常批量更新所需的InCell编辑,批次设置为false

时间:2013-08-22 17:03:49

标签: c# asp.net-mvc kendo-ui kendo-grid kendo-asp.net-mvc

我在尝试将KendoUI Grid用于Visual Studio 2013中开发的ASP.NET MVC(.net 4.5)应用程序时遇到异常。我已将网格配置为使用InLine编辑并已明确将Batch设置为数据源部分中为false。这是作为局部视图呈现的。应该注意的是,如果GridEditMode.InLine设置为GridEditMode.InCell,则不会抛出任何异常。

异常

  
    

您必须使用InCell编辑模式进行批量更新。

         

说明:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

         

异常详细信息:System.NotSupportedException:您必须使用InCell编辑模式进行批量更新。

  

CODE

@using Kendo.Mvc.UI
@model MyApp1.Data.DataModels.Agent

@(Html.Kendo().Grid<MyApp1.Data.ViewModels.PhoneNumberVM>()
    .Name("grid")
    .Columns(columns =>
    {
        columns.Bound(p => p.Number);
        columns.Bound(p => p.Description);
        columns.Command(command => command.Edit()).Width(90);
        columns.Command(command => command.Destroy()).Width(90);
    })
    .ToolBar(toolBar =>
        {
            toolBar.Create().Text("Add Phone Number");
            toolBar.Save();
        })
    .Editable(editable => editable.Mode(GridEditMode.InLine))
    .DataSource(dataSource => dataSource
        .Ajax()
        .Batch(false)
        .Events(events => events.Error("error_handler"))
        .Model(model =>
        {
            model.Id(p => p.PhoneNumberId);
            model.Field(p => p.PerId).Editable(false).DefaultValue(@Model.PerId);
        })
        .Read(read => read.Action("_GetPhones", "Pers", new { AgentId = Model.AgentId }))
        .Create(create => create.Action("_AddPhone", "Pers"))
        .Update(update => update.Action("_EditPhone", "Pers"))
        .Destroy(destroy => destroy.Action("_DeletePhone", "Pers"))
    )
)

1 个答案:

答案 0 :(得分:21)

我已经解决了这个问题......

在工具栏中,我有以下命令toolBar.Save(),它似乎告诉控件它将处于某种批处理编辑模式。通过删除这个我现在能够得到我想要的行为......

复制和粘贴示例很危险!