根据编辑的单元格值更新其他单元kendo grid

根据编辑的单元格值更新其他单元kendo grid

问题描述:

我有一个关于剑道网格的问题。我有两列称为COMPLETION_DUE_DATE(DateTime)和DAYS_TO_COMPLETE(十进制)。当我在Completion_Due_Date datepicker中选择日期时,如何自动计算COMPLETION_DUE_DATE和今天日期之间的日期差异,然后将此值传递给DAYS_TO_COMPLETE。谢谢!根据编辑的单元格值更新其他单元kendo grid

@(Html.Kendo().Grid<TRAINING_TRIGGER_CATALOG_PROJECTION>() 
      .Name("CatalogBundleGrid") 
      .Resizable(resize => resize.Columns(true)) 
      .Columns(co => 
      { 
       co.Bound(e => e.CATALOG).Title(""); 
       co.Bound(e => e.SELECTED).Hidden(); 
       co.Bound(e => e.MODULE).Width(150); 
       co.Bound(e => e.MODULE_ID).Hidden(); 
       co.Bound(e => e.COMPLETION_DUE_DATE) 
        .HtmlAttributes(new { @class = "templateCell" }) 
        .ClientTemplate(
        Html.Kendo().DatePicker() 
        .Name("CompletionDueDate_#=MODULE_ID#") 
        .Format("{0:dd/MM/yyyy}") 
        .HtmlAttributes(new { data_bind = "value:COMPLETION_DUE_DATE" }) 
        .Events(e=> e.Change("ChangeDate")) 
        .ToClientTemplate().ToString() 
        ).Format("{0:dd/MM/yyyy}"); 
       co.Bound(e => e.DAYS_TO_COMPLETE).Width(90) 
         .ClientTemplate("<input id='textbox-#=MODULE_ID#' class='txtbox-#=MODULE_ID#' type='text' style='width: 40px; height:15px;' value='#=DAYS_TO_COMPLETE#' /> "     
       co.Bound(e => e.CATALOG_ID).Hidden(); 
      }) 
      .DataSource(ds => ds.Ajax().ServerOperation(false) 
       .Model(model => { model.Id(p => p.CATALOG_ID); model.Field(p => p.MODULE).Editable(false); }).Sort(sort => sort.Add(s => s.MODULE)).Group(P => P.Add(e => e.CATALOG))) 
      .Selectable() 
      .Scrollable(scr => scr.Height("auto")) 
      .AutoBind(true) 
      .Events(e => e.DataBound("CatalogBound")) 
      .HtmlAttributes(new { @class = "grdCollapsableWrapper" }).AutoBind(false) 
      ) 
+0

有一个帖子在http://www.telerik.com/forums/update-其他基于单元格的编辑单元格值,但我不知道如何在asp.net中实现此mvc – Yan

+0

这是我提到的添加datepicker网格http://www.telerik .COM /论坛/剑道-UI-MVC-电网与-日期选择器和共mbo-box-(基于每行数据的组合数据) – Yan

使用的日期选择器

.ClientTemplate(Html.Kendo().DatePicker().Events(e=> e.Change("ChangeDate")) 

事件的变化,然后定义CHANGEDATE功能

function ChangeDate(e) { 



      var grid = $("#TRAINING_TRIGGER_CATALOG_PROJECTION").data("kendoGrid"); 

      // for getting the current row of grid 
      var row = $(e).closest("tr"); 
      var model = grid.dataItem(row); 

      // use model to get values and calculate diff 
      var today = new Date(); 
      var diff = Math.round((today - model.COMPLETION_DUE_DATE)/(1000*60*60*24)); 
      model.set('DAYS_TO_COMPLETE', diff); 

     } 
+0

用户选择日期时是否可以触发'ChangeDate'功能? – Yan

+0

datapicker只是有变化,打开和关闭事件。但是当您选择一个日期时,发生更改事件。 –