2016-12-28 5 views
0

열에 의해 그룹화 된 기본값 인 검도 데이터 격자가 있고 격자를 편집하려고합니다. 사용자가 다른 열을 기준으로 그룹화하는 것을 원하지 않습니다. 기본 그룹화가 정상적으로 작동하는 동안 업데이트 이벤트는 시작되지 않고 컨트롤은 컨트롤러의 인라인 업데이트 메서드로 이동하지 않습니다. 내가 어디로 잘못 가고 있는지 확인해 주시겠습니까? 아래는 코드입니다열에 그룹화 할 때 검도 데이터 격자 업데이트 이벤트가 발생하지 않습니다.

@(Html.Kendo().Grid(Model) 
    .Name("grdTimesheets") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.EmployeeId).Hidden(true); 
     columns.Bound(p => p.FirstName); 
     columns.Bound(p => p.Monday.Hour).Title("Monday") 
      .EditorTemplateName("TimesheetMonday"); 
     columns.Command(command => 
     { 
      command.Edit(); 
      command.Destroy(); 
      command.Custom("Add").Text(" ").Click("AddNewTimesheet"); 
     }); 
    }) 
    .Editable(editable => editable.Mode(GridEditMode.InLine)) 
    .Pageable() 
    .Sortable() 
    .Groupable(false) 
    .Scrollable() 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .Model(model => 
     { 
      model.Id(p => p.EmployeeId); 
      model.Field(p => p.FirstName).Editable(false); 
     }) 
     .PageSize(20) 
     .Update(update => update.Action("EditingInline_Update", "Timesheet")) 
     .Destroy(destroy => destroy.Action("EditingInline_Destroy", "Timesheet")) 
     .Group(d=>d.Add(f=>f.FirstName)) 
    ) 

내가 마지막 줄을 주석 경우 ".Group (D => d.Add() => f.FirstName F)"모든 것이 잘 작동하지만, 기본 그룹이 꺼집니다.

답변

0

나는 대답이 조금 늦다는 것을 알고 있지만, 다른 누군가가 똑같은 문제를 겪고있는 경우를 대비하여 여기에 남겨 두겠다. 모든 열별로 그룹화하면 모눈은 실행되지 않습니다. ".Update (update => update.Action ("EditingInline_Update ","Timesheet "))". 이 문제를 해결하려면 OnEditEvent를 그리드에 추가하고 javascript 함수를 사용하여 이벤트를 텍스트 상자/드롭 다운 또는 기타 컨트롤에 추가해야합니다. 샘플 아래 :

.Events (이벤트 => events.Edit ("grid_edit"))이보기에

자바 스크립트 : 또한

function grid_edit(e) { 
    var grid = $('#grid').data('kendoGrid'); 
    var cell = e.container; 
    var area = cell.find("textarea") 

    area.on("blur", function() { 
     // update ur entries here 
     var areaVal = cell.find("textarea").val(); // this is the new value 
     // call some ajax to update the value and in the success call grid.dataSource.sync(); to refresh the grid 
    });} 

당신이 당신의 .update를을 (제거해야)가 더 이상 필요하지 않기 때문에 DataSource에 대해.