`
azure2a
  • 浏览: 32837 次
  • 性别: Icon_minigender_1
  • 来自: 承德
社区版块
存档分类
最新评论

Extjs Grid 带分页多选时的某种解决方案。

阅读更多
  使用情况:使用Extjs的Grid时使用远程分页时有一个问题,就是当翻到下一页时上一页中选中的内容会被清除。
  我的解决方案:建立一个Extjs的Collection用于存储,当然这里需要存储的是数据库中的主键值,当选中Grid中的多选框时,把主键加入Collection,取消选择时则把主键从Collection中删除,提交时就提交Collection中内容。
  建立Collection。
 
  var collection=new Ext.util.MixedCollection();
  


  点击Grid时发生cellclick事件,sm是CheckboxSelectionModel。
  
   var row=grid.getStore().getAt(rowIndex);
		        if(sm.isSelected(rowIndex)){
		            collection.add(row.get('主键'),{id:row.get('主键'),name:row.get('其他字段')});	
		        }else
		        {
		        	collection.removeKey(row.get('主键'));
		        }
  


  翻页时。
  
  var total = store.getCount();//数据行数
			   for(var i=0;i<total;i++){
							  var row=store.getAt(i);
							  if(collection.containsKey(row.get('主键'))){
							    grid.selModel.selectRow(i,true);
							  }
						   }  

 
分享到:
评论
5 楼 659的典藏 2011-02-17  
正在进行此类问题的学习,提前学习了!
4 楼 Hafeyang 2011-02-15  
有个问题是。如果数据本身在变化。比如你在翻到第二页页的时候,第一页有一条记录在别处删除了。这样导致最终提交的数据不正确。
3 楼 acheng 2011-02-15  
我碰到了这个问题,谢谢分享,一会试试
2 楼 lym6520 2011-02-15  
大家都用的方法,基本是这么解决的。
1 楼 liliang268 2011-02-14  
azure2a 写道
  使用情况:使用Extjs的Grid时使用远程分页时有一个问题,就是当翻到下一页时上一页中选中的内容会被清除。
  我的解决方案:建立一个Extjs的Collection用于存储,当然这里需要存储的是数据库中的主键值,当选中Grid中的多选框时,把主键加入Collection,取消选择时则把主键从Collection中删除,提交时就提交Collection中内容。
  建立Collection。
 
  var collection=new Ext.util.MixedCollection();
  


  点击Grid时发生cellclick事件,sm是CheckboxSelectionModel。
  
   var row=grid.getStore().getAt(rowIndex);
		        if(sm.isSelected(rowIndex)){
		            collection.add(row.get('主键'),{id:row.get('主键'),name:row.get('其他字段')});	
		        }else
		        {
		        	collection.removeKey(row.get('主键'));
		        }
  


  翻页时。
  
  var total = store.getCount();//数据行数
			   for(var i=0;i<total;i++){
							  var row=store.getAt(i);
							  if(collection.containsKey(row.get('主键'))){
							    grid.selModel.selectRow(i,true);
							  }
						   }  

 

相关推荐

    Extjs grid分页多选记忆功能

    很多同事在用extjs grid做分页的时候,往往会想用grid的多选功能来实现导出Excel之类的功能(也就是所谓的多选记忆功能),但在选选择下一页的时候 上一页选中的已经清除 这是因为做分页的时候又向服务器请求了分页...

    Extjs chekboxtree PagingTreeLoader 多选、分页

    "分页树加载器"PagingTreeLoader则是ExtJS为大型树形数据集提供的解决方案。当数据量过大,一次性加载会消耗大量资源和时间时,PagingTreeLoader允许按需加载节点,提高了用户体验。PagingTreeLoader.js文件很可能...

    ExtJs grid多选时获取选中的所有值

    ### ExtJs Grid 多选及获取选中值详解 #### 一、背景介绍 在Web应用开发中,ExtJs 是一款非常强大的JavaScript框架,它能够帮助开发者快速构建复杂的用户界面。其中,Grid Panel(简称 Grid)是ExtJs中最常用的一个...

    Extjs grid分页1

    ExtJS Grid 分页是Web应用中数据展示的重要组成部分,它允许用户高效地浏览大量数据而无需一次性加载所有记录。在本文中,我们将深入探讨ExtJS Grid的分页功能及其实现方式。 首先,ExtJS Grid是一种强大的...

    ExtJS笔记---Grid实现后台分页

    这篇“ExtJS笔记——Grid实现后台分页”探讨了如何在ExtJS的Grid组件中实现高效的后台分页功能。 后台分页是一种常见的数据处理策略,特别是在大数据量的情况下,它将数据分批加载,避免一次性加载所有记录导致的...

    ExtJS日期多选组件源码

    在这种情况下,"ExtJS日期多选组件源码"为我们提供了解决方案。 该组件扩展了ExtJS的基础日期选择器,实现了多选日期的功能。用户可以方便地通过该组件选取一个日期范围或单独的多个日期,并将这些日期以数组的形式...

    extjs异步树,多选树,json数据机构,集成spring,struts例子

    extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json数据机构,集成spring,struts例子,extjs异步树,多选树,json...

    Extjs下拉多选树

    在ExtJS中,"下拉多选树"(Combobox Tree)是一种结合了下拉框和树形结构的组件,它允许用户在下拉菜单中选择多个树节点,提供了一种高效且直观的用户交互方式。 1. **下拉树组件**:在ExtJS中,树形组件...

    Extjs6中Combobox实现下拉多选

    该资源主要展示了在Extjs6中Combobox控件实现下拉选择多个数据的功能

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选

    在ExtJS 3.4.0版本中,多选下拉框(Multiselect Combobox)是一种常见的用户界面组件,用于提供多个选项供用户选择。这个功能增强了标准的单选下拉框,允许用户同时选择多个条目,通常通过复选框实现。在描述中提到...

    extjs多选下拉框

    在EXTJS框架中,"多选下拉框"(Multi-Select ComboBox)是一种常见的组件,它允许用户在下拉列表中选择多个选项。EXTJS 3.*版本也提供了这种功能,使得开发者能够创建功能丰富的界面,提升用户体验。下面将详细解释...

    ExtJS grid过滤操作

    ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...

    Extjs4 多选下拉树

    在ExtJS4中,多选下拉树(Multi Select Tree)是一种用户界面组件,它结合了下拉菜单和树形结构,允许用户从层级结构中选择多个项目。这个组件在数据管理、分类选择等场景中非常实用。 在实现多选下拉树时,我们...

    extjs 分页

    在EXTJS中,分页是实现大数据量展示时不可或缺的功能,它能有效地提高网页性能,减少服务器压力。EXTJS分页通常与数据访问对象(DAO)和动作控制器(Action)结合使用,形成一个完整的数据获取和展示流程。下面将...

    extjs中的多选列表

    在EXTJS这个强大的JavaScript框架中,虽然原生并未直接提供多选列表(Multi Select List)组件,但开发者可以通过自定义组件或者利用EXTJS现有的组件进行组合来实现这一功能。EXTJS是一个用于构建富客户端Web应用的...

    Extjs4 Grid分页与自动刷新

    ### Extjs4 Grid分页与自动刷新 #### 一、Extjs4 Grid 分页功能实现 在使用Extjs4进行Web应用开发时,Grid控件是常用的数据展示组件之一。对于大数据量的情况,通常需要使用分页来提高用户体验。下面详细介绍如何...

    Extjs3 多选下拉框LovCombo

    在ExtJS 3中,多选下拉框(LovCombo)是一种复合组件,它结合了下拉列表和“爱好者选择”(LOV,Lookup Value)的功能,允许用户在多个选项中进行复选选择。在Web应用中,这种组件常用于数据输入,特别是在数据库...

    extjs 树型分页组件

    为了解决这个问题,EXTJS提供了一个名为“树型分页”(Tree Paging)的特性。本文将深入探讨EXTJS树型分页组件的工作原理、实现方法及其实用价值。 1. 树型分页原理 树型分页不同于传统的表格分页,因为它需要处理...

Global site tag (gtag.js) - Google Analytics