sigma grid全選択または行選択後、現在選択されている行の数をリアルタイムで表示

1637 ワード

プロジェクトではsigma gridが使用されており、ユーザーが行をすべて選択または選択した後、現在選択されている行の数をWebページにリアルタイムで表示する必要があります.公式サイトAPIを調べてみると、
Webサイト:http://www.sigmawidgets.com/products/sigma_grid2/
クリックイベント、onRowCheck:function(row,chk,grid)を発見しましたが、効果がなかったので、次のような融通方法で解決しました
使用するイベント:
  • onHeadClick:function( event, headCell, colObj,  grid)
  • 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);//             
    }