55. GridPanel中getSelectionModel详解
一、Ext.grid.GridPanel
主要配置项:
store:表格的数据集
columns:表格列模式的配置数组,可自动创建ColumnModel列模式
autoExpandColumn:自动充满表格未用空间的列,参数为列id,该id不能为0
stripeRows:表格是否隔行换色,默认为false
cm、colModel:表格的列模式,渲染表格时必须设置该配置项
sm、selModel:表格的选择模式,默认为Ext.grid.RowSelectionModel
enableHdMenu:是否显示表头的上下文菜单,默认为true
enableColumnHide:是否允许通过标题中的上下文菜单隐藏列,默认为true
loadMask:是否在加载数据时显示遮罩效果,默认为false
view:表格视图,默认为Ext.grid.GridView
viewConfig:表格视图的配置对象
autoExpandMax:自动扩充列的最大宽度,默认为1000
autoExpandMin:自动扩充列的最小宽度,默认为50
columnLines:是否显示列分割线,默认为false
disableSelection:是否禁止行选择,默认为false
enableColumnMove:是否允许拖放列,默认为true
enableColumnResize:是否允许改变列宽,默认为true
hideHeaders:是否隐藏表头,默认为false
maxHeight:最大高度
minColumnWidth:最小列宽,默认为25
trackMouseOver:是否高亮显示鼠标所在的行,默认为true
主要方法:
getColumnModel():取得列模式
getSelectionModel():取得选择模式
getStore():取得数据集
getView():取得视图对象
reconfigure( Ext.data.Store store, Ext.grid.ColumnModel colModel ):使用一个新的数据集和列模式重新配置表格组件
二、getSelectionModel获取选择的行可以进行如下操作

var model = grid.getSelectionModel();
model.selectAll();//选择所有行
model.selectFirstRow();//选择第一行
model.selectLastRow([flag]);//选择最后一行,flag为正的话保持当前已经选中的行数,不填则默认false
model.selectNext();//选择下一行
model.selectPrevious();//选择上一行
model.selectRange(tartRow,ndRow, [Boolean keepExisting] );//选择范围间的行
model.selectRow(row);//选择某一行
model.selectRows(rows);//选择指定一些行,传递数组如[1,3,5],则分别选择1,3,5行
model.clearSelections();//清空所有选择
model.deselectRange( startRow, endRow );//取消从startrow到endrow的记录的选择状态
model.deselectRow(row);//取消指定行的记录
grid.getSelected().id //得到选中的行的标识
var getSelect=function (grid, col)
{ //获取选中grid的列
var st="";
for (var i = 0; i < grid.getSelectionModel().getSelections().length; i++)
{
st+=grid.getSelectionModel().getSelections()[i].get("'"+col+"'")+",";
}
}
grid.getSelectionModel的所有操作
1. var model = grid.getSelectionModel();  
   2. model.selectAll();//选择所有行  
   3. model.selectFirstRow();//选择第一行  
   4. model.selectLastRow([flag]);//选择最后一行,flag为正的话保持当前已经选中的行数,不填则默认false  
   5. model.selectNext();//选择下一行  
   6. model.selectPrevious();//选择上一行  
   7. model.selectRange(tartRow,ndRow, [Boolean keepExisting] );//选择范围间的行  
   8. model.selectRow(row);//选择某一行  
   9. model.selectRows(rows);//选择指定一些行,传递数组如[1,3,5],则分别选择1,3,5行  
  10.   
  11.   
  12. model.clearSelections();//清空所有选择  
  13. model.deselectRange( startRow, endRow );//取消从startrow到endrow的记录的选择状态
14. model.deselectRow(row);//取消指定行的记录
extjs获取Grid中某一行某一列的值
选中某一行,var record = grid.getSelectionModel().getSelection();
一行的所有数据都在record里面
具体某一列:record.get("列名-dataIndex")
extjs获取store的值
grid.getStore().each(function(record){
var value = record.get("field_name");
});
store 中each()方法的使用应在load完使用,确切的说应该在on('load')事件中使用,
不懂就看一下下面的例子吧!。。。
- //获得store,这里假如store里有3条记录。
 - var i = 0;
 - var ds = grid.getStore();
 - \\
 - //以下是正确与不正确的例子
 - 1)错误例子
 - ds.each(function(rec)
 - { i++; }
 - );
 - result : i = 0;//表明each没有执行或此方法在数据加载前执行(后者的可能行更大)
 - 2)正确例子
 - ds.on('load',function(store,records){
 - store.each(function(rec)
 - { i++; }
 - );
 - });
 - result: i = 3;
 - 下面看一下如何使grid中的checkBox为选中状态
 - var sm = grid.getSelectionModel();//get the seletion model
 - ds.on('load',function(store,records){
 - store.each(function(rec) {
 - //判断条件
 - if(....)
 - { sm.selectRecords([rec]); }
 - );
 - });
 
55. GridPanel中getSelectionModel详解的更多相关文章
- winxp计算机管理中服务详解
		
winxp计算机管理中服务详解01 http://blog.sina.com.cn/s/blog_60f923b50100efy9.html http://blog.sina.com.cn/s/blo ...
 - cocos2dx常见的46中+22中动作详解
		
cocos2dx常见的46中+22中动作详解 分类: iOS2013-10-16 00:44 1429人阅读 评论(0) 收藏 举报 bool HelloWorld::init(){ ///// ...
 - GridPanel中getSelectionModel
		
GridPanel中getSelectionModel 更多 2014/5/1 来源:extjs学习浏览量:6783 学习标签: GridPanel extjs 本文导读:Ext.grid.GridP ...
 - Android中Context详解 ---- 你所不知道的Context
		
转自:http://blog.csdn.net/qinjuning/article/details/7310620Android中Context详解 ---- 你所不知道的Context 大家好, ...
 - iOS中-Qutarz2D详解及使用
		
在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...
 - 【转】declare-styleable的使用(自定义控件) 以及declare-styleable中format详解
		
原文网址:http://www.cnblogs.com/622698abc/p/3348692.html declare-styleable是给自定义控件添加自定义属性用的 1.首先,先写attrs. ...
 - Python中dict详解
		
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
 - 【转】 java中HashMap详解
		
原文网址:http://blog.csdn.net/caihaijiang/article/details/6280251 java中HashMap详解 HashMap 和 HashSet 是 Jav ...
 - java中HashMap详解(转)
		
java中HashMap详解 博客分类: JavaSE Java算法JDK编程生活 HashMap 和 HashSet 是 Java Collection Framework 的两个重要成 ...
 
随机推荐
- 【Hadoop】三、HDFS命令行接口
			
通过前面对HDFS基本概念.高可用性.数据读写流程的介绍,我们对HDFS已经有了大致的了解.这里我们还需要明确一点:Hadoop作为一个完整的分布式系统,它有一个抽象的文件系统的概念,而我们介绍的 ...
 - checkbox prop无效问题
			
因为bootstrap插件问题,需要先获取input的上级元素,然后添加checked $("input[name='checkInput']").parent().addClas ...
 - you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'varchar(255), sort integer not null
			
you have an error in your SQL syntax; check the manual that corresponds to your MySQL server version ...
 - Linux有几种安装软件的方式?????
			
看了Windows后台软件安装的过程,想必Linux也是这样.拿RHEL7来打比方 最开始Linux上安装软件只提供源代码,需要自己去编译源代码,拷贝库文件等 RPM 红帽软件包管理器可以自动地执行上 ...
 - Linux学习笔记记录(补充)
 - Django-django-redis使用
			
自定义连接池 这种方式跟普通py文件操作redis一样,代码如下: views.py import redis from django.shortcuts import render,HttpResp ...
 - HDU 1212 大整数的取模运算
			
因为这里是MOD最大为100000 所以我将字符串看作5个一组,并记录后面跟了多少个100000 每次取5个数根据其数据进行取模更新 注意过程中 100000*100000会超int #include ...
 - Codeforces Round #232 (Div. 2) C
			
C. On Number of Decompositions into Multipliers time limit per test 1 second memory limit per test 2 ...
 - java中split以。点和|分割的问题
			
问题:想要按照点来切分字符串直接这样 String[] filep=filename.split("."); 结果得到一个空数组 解决方法: 法一:需要转义,改为:(注意是2个\\ ...
 - 20180725关于quartz的初识
			
请参照: https://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ https://www.w3cschool.cn/quartz_ ...
 
			
		
{ //获取选中grid的列
        var st="";
        {
        }
}