2015-10-20 98 views
1

我有一個關於劍道網格的問題。我有兩列稱爲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

回答

2

使用的日期選擇器

.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只是有變化,打開和關閉事件。但是當您選擇一個日期時,發生更改事件。 –

相關問題