2016-05-31 3 views
0

Я относительно новичок в пользовательском интерфейсе Kendo. У меня такая настройка кода. В основном это отображает редактируемую сетку с выпадающими списками в каждом столбце, а добавление другой записи добавит новую строку выпадающих списков. В любом случае я могу сохранить все строки сразу, а не обновлять каждую строку отдельно? Мой код настроен так.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> 
+0

является то, что вы ищете http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/editing/batch-editing? –

+0

Попробуйте привязать сетку с помощью внешнего ключа (для раскрывающегося списка) в кендо, в Google есть много примеров. –

ответ

0

Используя приведенный ниже код, вы можете получить полное обновление данных.

$('#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); 
    } 
Смежные вопросы