2016-05-31 28 views
0

剣道UIは比較的新しいです。私はこのような私のコード設定を持っています。これは、基本的に編集可能なグリッドを各列のドロップダウンとともに表示し、別のレコードを追加することでドロップダウンの新しい行が追加されます。とにかく、各行を個別に更新するのではなく、一度にすべての行を保存できるのですか? 私のコードはこのように設定されています。剣道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); 
    }