分享

选中分组头,子项全部选中

 实力决定地位 2019-05-09

var courseStore=Ext.create('Ext.data.Store',{

   storeId:'courseStore',

   fields:['Name','Type','Credit','Period','Teacher'],

   autoLoad:{start:0,limit:itemsPerPage},

   pageSize: itemsPerPage,

   groupField:'Type',

//    data:{'items':[

//     {'Name':'SQL深入详解','Type':'必修','Credit':'3','Period':'6周','Teacher':'zhang'},

//     {'Name':'SQL深入详解','Type':'必修','Credit':'3','Period':'6周','Teacher':'zhang'},    

//     ]},

    proxy:{

      type:'ajax',

      url:'json/course.json',

      reader:{

        type:'json',

        root:'items',

        totalProperty:'counts'

      }

}

});

var sm=Ext.create("Ext.selection.CheckboxModel",{

mode:'MULTI',

checkOnly:true,

renderer:function(value,metaData,record,rowIndex,colIndex,store,view){

    var type=record.get("Type");

    if(type=="必修"){

    return  '';

    }else{

    return '<div class="' + Ext.baseCSSPrefix + 'grid-row-checker"> </div>';

    }

    }

});

var courseGrid=Ext.create('Ext.grid.Panel',{

       store:courseStore,

       selModel:sm,

       multiSelect:true,

       viewConfig:{

       forceFit:true,

       scrollOffset: 0

      },

      features:[

             Ext.create("Ext.grid.feature.Grouping",{

            groupHeaderTpl:'课程类型:{name}(共有{rows.length}门)',

            startCollapsed:false

             })

        ],

       columns:[

         {header:'课程名',dataIndex:'Name',flex:2},

         {header:'类型',dataIndex:'Type'},

         {header:'学分',dataIndex:'Credit'},

         {header:'学时',dataIndex:'Period'},

         {header:'代课老师',dataIndex:'Teacher'},

       ],

       listeners:{

      viewready:function(grid,eOpts){

          var hd_checker =grid.getEl().select('.x-column-header-checkbox');

      var hd = hd_checker.first();

          if (hd_checker.hasCls('x-column-header-checkbox')) {   

                hd_checker.removeCls('x-column-header-checkbox'); 0// 去掉全选框

          }   

          hd.destroy();

           }

      }



选中子项的代码如下:

function selectCourseOk(){

var mustSelectCount;//必修个数,必须选择

var records=courseStore.getGroups("必修").children; //返回是model[]

mustSelectCount=records.length;

alert(mustSelectCount);

courseGrid.getSelectionModel().selectRange(0,mustSelectCount-1,true);//选中数据

var recordes=courseGrid.getSelectionModel().getSelecion();  //返回Model[]

}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约