This is a migrated thread and some comments may be shown as answers.

Empty data is passed to server after editing grid

2 Answers 455 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Shabtai
Top achievements
Rank 1
Shabtai asked on 08 Apr 2013, 09:36 PM
Hello,
I have server side kendo grid:
<div  class="k-rtl">
@(Html.Kendo().Grid<BO.UserPem>()
            .Name("UserPemGrid").Events(e => e.DataBound("UserPemRowDataBound")).ToolBar(toolbar =>
            {
                toolbar.Create().Text("הוסף");
                toolbar.Save().SaveText("שמור").CancelText("בטל");
            })
        .Columns(columns =>
        {
            columns.Bound(o => o.UserId).Title("ת.ז.");
            columns.Bound(o => o.PermittedProgramGroup).Title("קבוצות הרשאה");
            columns.Bound(o => o.PermittedProgramId).Title("תוכניות מורשות");
            columns.Command(command => command.Destroy().Text("מחק")).Width(150);
        })
        .Pageable(pager => pager.PageSizes(true))
        .Sortable()
            .Scrollable()
            .Editable(editable => editable.Mode(GridEditMode.InCell))
                    .DataSource(dataSource => dataSource.Ajax().Model(model => model.Id("UserId")).Read(read => read.Action("UserPemRowDataRead", "Home"))
                                .Update(update => update.Action("UserPemRowDataUpdate", "Home"))
                                    .Create(update => update.Action("UserPemRowDataCreate", "Home"))
                                            .Destroy(update => update.Action("UserPemRowDataDestroy", "Home"))
                )
    )
</div>
For some reason on server side in each of update events I get empty data...

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UserPemRowDataCreate([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]List<UserPem> users)
{
    var results = new List<UserPem>();
 
    if (users != null && ModelState.IsValid)
    {
        foreach (var user in users)
        {
            UserPermissionsTable.Insert(user);
            results.Add(user);
        }
    }
 
    return Json(results.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
}
I did it like in demo example...

Any help would be appreciated..

Thanks
Shabtai

2 Answers, 1 is accepted

Sort by
0
Accepted
Petur Subev
Telerik team
answered on 10 Apr 2013, 12:16 PM
Hello Shabtai,

Thank you for sharing your code. I do not see where you have enabled the Batch option of the dataSource:

.DataSource(dataSource => dataSource
              .Ajax()
              .Batch(true)

Like shown in this demo:

http://demos.kendoui.com/web/grid/editing.html


Kind Regards,
Petur Subev
the Telerik team
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
0
Shabtai
Top achievements
Rank 1
answered on 10 Apr 2013, 12:33 PM
It worked!

Thank you!!
Tags
Grid
Asked by
Shabtai
Top achievements
Rank 1
Answers by
Petur Subev
Telerik team
Shabtai
Top achievements
Rank 1
Share this question
or