zoukankan      html  css  js  c++  java
  • Ext grid checkbox 分页 翻页 勾选 问题

     1          timeArray = new Array();    //临时数组变量
     2     var timeStatusBar = new Ext.ux.StatusBar({
     3             id: 'statusbar',
     4             defaultText: '选择时间列表',
     5     });     
     6     var timeSelectModel = new Ext.grid.CheckboxSelectionModel({
     7         checkOnly:true,
     8         singleSelect:false,
     9         listeners:{
    10             rowselect:function(sm, rowIndex, record){  //选择事件,将time添加到timeArray中
    11                 var time = record.data.time;                
    12                 if (!ArrayContains(timeArray, time)){
    13                 //timeArray中没有存储time,则添加到timeArray中
    14                     var link = '<a href="javascript:removeTime_result('+time+')"><img src="/NetMonitor/Images/common/delete.gif"/></a>';
    15                     ArrayAppendDesc(timeArray, time, [time, link]);
    16                     timeStore_result.loadData(timeArray);                    
    17                 }
    18                 
    19             },
    20             rowdeselect:function(sm, rowIndex, record){  //取消选择事件,从timeArray中移除出去
    21                 //临时变量中存储了这个time,则从timeArray中移除出去
    22                 var time = record.data.time;            
    23                 ArrayRemove(timeArray, time);
    24                 timeStore_result.loadData(timeArray);                
    25             }
    26         }
    27     });
    28     var timeColumnModel = new Ext.grid.ColumnModel([
    29         {  header:'时间选择列表',dataIndex:'time',200,align:'center'},
    30         timeSelectModel
    31     ]);
    32     var timeRecordType = Ext.data.Record.create([{name:'time'}]);
    33     var timeStore = new Ext.data.Store({
    34         id:'timeStore',
    35         proxy:new Ext.data.DWRProxy(ExcelDaoService.getGridTime_ExcelDao,false),
    36         reader:new Ext.data.ListRangeReader({
    37             root:'data',
    38             totalProperty:'totalSize'
    39         },timeRecordType)
    40         ,
    41         listeners:{
    42             beforeload:function(){
    43                 timeStore.baseParams = {table:table};    
    44             },
    45             load:function(){                                        //加载的时候,根据临时变量timeArray勾选
    46                 var records = new Array();
    47                 timeStore.each(function(record){
    48                     for(var i=0; i<timeArray.length; i++){
    49                         if(timeArray[i][0] == record.data.time){
    50                             records.push(record);
    51                         }                        
    52                     }
    53                 });            
    54                 timeSelectModel.selectRecords(records, true);
    55             }
    56         },
    57         remoteSort:true
    58     });
    59 
    60     var pageTBar=new Ext.PagingToolbar({
    61         id:'pagingTbr',
    62         pageSize: 20,
    63         store:timeStore,
    64         afterPageText:'共{0}页',
    65         beforePageText:"当前页",
    66         lastText:"尾页",
    67         nextText:"下一页",
    68         prevText:"上一页",
    69         firstText:"首页"
    70     });
    71     var timeGrid = new Ext.grid.GridPanel({
    72         id:'timeGrid',
    73         tbar:timeStatusBar,
    74         bbar:pageTBar,
    75         cm:timeColumnModel,
    76         sm:timeSelectModel,
    77         store:timeStore,
    78         autoScroll:true,
    79         stripeRows:true,
    80         height:540
    81     });
    View Code

    Ext grid checkbox在翻页的过程中,会碰到之前勾选的数据,无法记录的情况,这时就应该使用一个临时array变量存储勾选的值,然后在grid每次load的时候,把每行数据与该array变量进行遍历判断,这样就能实现翻页保持勾选数据的效果。

  • 相关阅读:
    C++程序设计第二周作业
    navicat 连接windows服务器中的mysql数据库
    Python 多进程(二度回顾)
    MySQl 合并结构相同的多张表
    Python 验证码识别-- tesserocr
    Navicat Premium 修改MySQL密码(忘记密码的情况下)
    Navicat Premium 出现2059错误解决办法
    MySQL 1053错误 服务无法正常启动的解决方法
    mysql触发器trigger 实例详解
    navicat for mysql 连接报错1251详细解决步骤
  • 原文地址:https://www.cnblogs.com/dancser/p/3527367.html
Copyright © 2011-2022 走看看