2017-11-29 2 views
0

전체 그리드 행을 선택해야하는 체크 박스가 있습니다. 사용자가 모두 선택을 클릭하면 그리드의 모든 페이지를 선택해야합니다.검도에서 pagesize를 사용하여 모든 행을 선택하는 방법

이제 그리드의 행 길이를 확인할 수 있지만 하나의 체크 박스 만 선택됩니다. 길이를 얻을 수 있기 때문에 어떻게 모든 체크 박스를 클릭 할 수 있습니까?

<div> 

      @(Html.Kendo().Grid<model>() 
      .Name("Grid1") 
        .Columns(columns => 
        { 
        columns.Bound(x => x.roleName).Title("Role Names"); 
        columns.Template(@<text></text>).ClientTemplate("<input type='checkbox' #= selected ? checked='checked':'' # class='checkbox' />") 
               .HeaderTemplate("<input type='checkbox' class='checkbox' id='masterCheckBox' onclick='checkAll(this)'/>") 
               .Width(30); 
        }) 

        .Pageable(pageable => pageable 
        .Refresh(true) 
        .PageSizes(true) 
        .ButtonCount(5)) 
        .Scrollable() 
        .Filterable() 
        .Sortable() 

        .Resizable(resize => resize.Columns(true)) 
        .DataSource(dataSource => dataSource 
        .Ajax() 
        .PageSize(10) 
        .ServerOperation(false) 
        .Read(read => read.Action("", "")))) 


     </div> 

답변

0

안녕하세요 모든 확인란 아래의 코드에 의해 확인 후 루프 각 확인란을 통해 얻을 수 내 데이터를 업데이트하기 위해 manged했던 한

function checkAll(ele) 
    { 

     var grid = $("#Grid1").data("kendoGrid"); 
     grid.dataSource.pageSize(grid.dataSource.data().length); 
     console.log("Length" + grid.dataSource.data().length); 

     var dataArea = gridElement.find(".k-grid-content"); 
     var gridTest = $('#Grid1 .checkbox'); 

     for (var i = 0; i < gridTest.length; i++) { 
      var isChecked = $('#masterCheckBox').is(':checked')//!$(this).is(':checked'); 
      alert("isChecked" + isChecked); 
      if (isChecked) { 
       $('#Grid1.checkbox').prop('checked', 'checked'); 
       break; 
      } 
     }; 
    }; 

검도 그리드 : 여기

내 코드입니다 출처.

var CheckedBoxes = $('input:checkbox').not(this).prop('checked', this.checked); 

$("#masterCheckBox").click(function() 
{ 
    debugger 
    var grid = $("#Grid1").data("kendoGrid"); 
    grid.dataSource.pageSize(grid.dataSource.data().length); 
    console.log("Length of pages" + grid.dataSource.data().length); 

    CheckedBoxes = $('input:checkbox').not(this).prop('checked', this.checked); 
    for (var i = 0; i < CheckedBoxes.length; i++) 
    { 

    }; 
} 
}); 
관련 문제