繁体   English   中英

Kendo UI网格保存

[英]Kendo UI Grid Saving

我对Kendo UI比较陌生。 我有这样的代码设置。 基本上,这将在每列中显示带有下拉菜单的可编辑网格,添加其他记录将添加新的下拉菜单行。 无论如何,我可以一次保存所有行,而不必分别更新每一行? 我的代码是这样设置的。

<div class="row">
    <div class="col-md-12 ">
        <h5>Markets:</h5>
        @(Html.Kendo().Grid<ETS_Telerik.Models.AddMarketViewModel>()
            .Name("MarketGrid")
            .Columns(columns =>
            {
                columns.Bound(p => p.Country).ClientTemplate("#: Country.Name #").Width("200px");
                columns.Bound(p => p.State).ClientTemplate("#: State.StateName #").Title("State").Width("200px") ;
                columns.Bound(p => p.Name).Width(200);
                columns.Command(command => { command.Destroy(); });
            })
            .ToolBar(toolbar => toolbar.Create())
            .Editable(editable => editable.Mode(GridEditMode.InCell))
            .DataSource(dataSource => dataSource
                .Ajax()
                    .Model(model =>
                    {
                        model.Id(p => p.ID);
                        model.Field(p => p.Country).DefaultValue(ViewData["defaultCountry"]);
                        model.Field(p => p.State).DefaultValue(ViewData["defaultState"]);
                        model.Field(p => p.Name).DefaultValue(ViewData["defaultName"]);
                    })
                .Create(update => update.Action("CreateEmployee", "User"))
                .Read(read => read.Action("ReadEmployees", "User"))
                .Destroy(del=>del.Action("Delete","User"))
                .Update(update => update.Action("UpdateEmployees", "User")))
                )
    </div>
</div>

使用下面的代码,您可以实现整个数据更新。

$('#updateall').click(function (){
        var displayedData = $("#your-gridid").data().kendoGrid.dataSource.view();
        var Childfood=[];
        for(var i=0;i<displayedData.length;i++)
        {
            var fooddata = {
                "ChildId"           :   displayedData[i].ChildId,
                "MorningFood"       :   $("#MorningFood").val(),

            }
            Childfood.push(fooddata);
        }
        Childfood = JSON.stringify({ 'Childfood': Childfood });
        var postData = { Childfood: Childfood};
        $.ajax({
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            type: 'POST',
            url: '/your-controller/method',
            data: Childfood,
            success: function () {

            },
            failure: function (response) {
            }
        });
    });


    [HttpPost]
        public JsonResult Recordallchildfood(List<Childfood> Childfood)
        {

        var datalist=Childfood;
        //---------
        //your operation bulk update to sql
        //---------

        return Json(returnlist, JsonRequestBehavior.AllowGet);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM