2016-05-31 23 views
0

Ich bin relativ neu in Kendo UI. Ich habe meinen Code so eingerichtet. Dies zeigt im Grunde editierbares Raster mit Dropdown-Listen in jeder Spalte und Hinzufügen eines weiteren Datensatzes fügt eine neue Reihe von Dropdowns hinzu. Gibt es trotzdem ich kann alle Zeilen auf einmal speichern anstatt jede Zeile einzeln zu aktualisieren? Mein Code ist wie folgt eingerichtet.Kendo UI Grid Saving

<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

ist, dass Sie für http://docs.telerik.com/kendo-ui/aspnet-mvc/helpers/grid/editing/batch-editing suchen? –

+0

Versuchen Sie Bind Gitter mit Fremdschlüssel (für Dropdown-Liste) in Kendo, gibt es viele Beispiele in Google. –

Antwort

0

Mit dem folgenden Code können Sie das gesamte Datenupdate erreichen.

$('#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); 
    }