2013-09-03 3 views
4

KendoUI 그리드에 표시 할 데이터가 있습니다. 부울 데이터가 있으며 확인란으로 표시하려고합니다. 또한 사용자가 확인란을 클릭하면 데이터의 각 행에 대해 onclick 이벤트가 필요하므로 무언가를해야합니다. KendoUI 그리드에서 어떻게합니까? 각 확인란에 다른 이름을 지정하고 onclick 이벤트를 발생시키는 방법은 무엇입니까? 내 코드 :KendoUI Grid Checkbox 클릭 이벤트

@(Html.Kendo().Grid((IList<M.TS.DomainModel.C>)ViewData["peoplefind"]) 
    .Name("Grid") 
    .Columns(columns => 
    { 
     columns.Bound(p => p.FirstName); 
     columns.Bound(p => p.LastName); 
     columns.Bound(p => p.User).Title("Email"); 
     columns.Bound(p => p.City); 
     columns.Bound(p => p.TimeStamp).Title("Testdate").Format("{0:MM/dd/yyyy}"); 
     columns.Command(command => command.Custom("Info").Click("showDetails")).Title("Info"); 
     columns.Bound(p => p.CheckOK).ClientTemplate(
"<input type='checkbox' value= '#= CheckOK #' " + 
    "# if (CheckOK) { #" + 
     "checked='checked'" + 
    "# } #" + 
"/>" 
    ); 

    }) 
.Sortable() 
    .Scrollable(scr => scr.Height(300)) 
    .Groupable() 
    .Selectable() 
    .Pageable() 
    .DataSource(dataSource => dataSource 
    .Ajax() 
    .PageSize(20) 
    .ServerOperation(false)) 
    .Resizable(resize => resize.Columns(true)) 

)

+0

클릭 이벤트를 얻는 방법을 알아 냈습니다. 이 템플릿에 onclick을 추가했습니다. checkchk 'onchange ='cokclick() 'value ='# = CheckOK # ' "+ "# if (CheckOK) {# " + "/>"이제 ) – Tulips

+0

, 어떻게 내 자바 스크립트 함수에서 체크 박스의 값을받을 수 있나요 + "#} #"+ 을 "= 검사 '체크'"? – Tulips

+0

function cokclick() { var grid = $ ("# Grid"). 데이터 ("kendoGrid"); var row = grid.select(); var dataItem = grid.dataItem (row); var cval = $ (dataItem.col (9)). (': checked')입니다. // 확인란 열 값을 얻는 방법은 ?? var pid = dataItem.PersonId; 알림 (pid + ";"+ cval); // cval은 정의되지 않았습니다. – Tulips

답변

4

OK 그래서 나는 그것을 알아 냈다. 확인란의 템플릿에 class = 'c-ok'를 추가하고 click 이벤트를 가져 오기 위해 다음 코드를 추가했습니다.

$('.c-ok').click(function (e) { 
     if ($(this).is(':checked')) { 
      alert('checked'); 
      cokclick(); 
     } else { 
      alert('not checked'); 
     } 

    });