Please try the following example.
<table id="tg"></table>
<script type="text/javascript">
var data = {total:4,rows:[
{id:1,name:'name1',b1:true,b2:true},
{id:2,name:'name11',b1:false,b2:true,_parentId:1},
{id:3,name:'name12',b1:true,b2:true,_parentId:1},
{id:4,name:'name13',b1:true,b2:true,_parentId:1}
]};
$(function(){
$('#tg').treegrid({
width:700,
height:250,
rownumbers: true,
animate:true,
fitColumns:true,
data:data,
idField:'id',
treeField:'name',
columns:[[
{title:'Name',field:'name',width:180},
{field:'b1',title:'B1',width:60,align:'center',
formatter:function(value,row){
var s = '<input class="ck" type="checkbox"' + (value?'checked':'') + '>'
return s;
}
},
{field:'b2',title:'B2',width:60,align:'center',
formatter:function(value,row){
var s = '<input class="ck" type="checkbox"' + (value?'checked':'') + '>'
return s;
}
}
]],
onLoadSuccess:function(){
var dg = $(this);
dg.treegrid('getPanel').unbind('.ck').bind('click.ck',function(e){
if ($(e.target).hasClass('ck')){
var td = $(e.target).closest('td');
var tr = td.closest('tr');
var id = tr.attr('node-id');
var field = td.attr('field');
var row = {};
row[field] = $(e.target).is(':checked') ? true : false;
dg.treegrid('update',{
id:id,
row:row
})
}
})
}
});
})
</script>