Question Exception dans la modification de KendoUI Grid InCell requise pour les mises à jour par lots avec le lot défini sur false


Je reçois une exception lorsque j'essaie d'utiliser la grille KendoUI pour une application ASP.NET MVC (.net 4.5) développée dans Visual Studio 2013. J'ai configuré la grille pour utiliser l'édition InLine et j'ai défini explicitement Batch sur false dans le fichier. section de source de données. Ceci est rendu comme une vue partielle. Il convient de noter que si GridEditMode.InLine est défini sur GridEditMode.InCell, aucune exception n'est levée.

Exception

Vous devez utiliser le mode d'édition InCell pour les mises à jour par lots.

La description: Une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Consultez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails d'exception: System.NotSupportedException: vous devez utiliser le mode d'édition InCell pour les mises à jour par lots.

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"))
    )
)

12
2017-08-22 17:03


origine


Réponses:


J'ai résolu ce problème ...

Dans la barre d'outils, j'avais la commande suivante toolBar.Save() ce qui semble avoir dit au contrôle qu'il allait être en mode d'édition par lots de quelque sorte. En supprimant cela, je suis maintenant capable d’obtenir le comportement que je veux ...

Copier et coller des exemples est dangereux!


21
2017-08-22 17:39