sigma grid全选或选中某一行后,实时显示当前选中的行数

项目中使用到了sigma grid,现在需要在用户全选或选中某一行后,在网页上实时显示当前选中的行数。查了下官网API,

网站:http://www.sigmawidgets.com/products/sigma_grid2/

发现有点击事件,onRowCheck:function( row, chk, grid),但是没有效果,于是用下面的变通方法解决

用到的事件:

  1. onHeadClick:function( event, headCell, colObj,  grid)

  2. onCellClick:function(  value,  record,  cell,  row,  colNo,  columnObj,  grid)

sigma grid配置代码片段

var colsOption = [
      {id: 'chk' ,isCheckColumn : true, _checkType:'radio', frozen : false , filterable : false, header: "", title: "checkall" , fieldName : 'id'},
...........
];

  
var gridOption2 = {
  id:grid_demo_id2,  
   
  ......... 
  
//当点击表头时 
  onHeadClick:function( event, headCell, colObj,  grid){

   if(colObj.id=='chk'){//是全选所在列
     setTimeout(setCheckedNumsDisplay, 50 );

    //if($(".gt-f-totalcheck").attr("checked")){//判断全选是否选中,如果全选选中了,此时立即去计算时,子选项实际还未选择,所以设置延时50ms

     //setTimeout(setCheckedNumsDisplay, 50 );

    //}else{//全选取消时会触发子checkbox取消选择,但此时立即去计算时,子选项实际还未取消,选中的行数仍有值,所以设置延时50ms
     //setTimeout(setCheckedNumsDisplay, 50 );
    //}
   }

  },
//点击单元格时
onCellClick:function(  value,  record,  cell,  row,  colNo,  columnObj,  grid){

   if(colNo==0){//点击的是多选框

    setCheckedNumsDisplay();

   }

  } 

  }

设置显示当前选中记录数:

function setCheckedNumsDisplay(nums){
 if(typeof nums == 'undefined'){
  nums = Sigma.$grid('myGrid2').getSelectedRecords().length;
 }
 //alert(nums);
 $('#checkednum').text(nums);//设置页面显示当前选中记录数
}

你可能感兴趣的:(grid,sigma)