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 的两个重要成 ...
随机推荐
- Controller传值到前端页面的几种方式
一丶追加字符串传值 #region 02-追加字符串传值 /// <summary> /// 02-追加字符串传值 /// </summary> /// <returns ...
- 牛客多校Round 9
Solved:1 rank:112 E. Music Game 题解说有个非简化的原题 bzoj4318 #include <bits/stdc++.h> using namespace ...
- Linux未来监控tracing框架——eBPF
Linux未来监控tracing框架--eBPF eBPF源于早年间的成型于 BSD 之上的传统技术 BPF(Berkeley Packet Filter).BPF 的全称是 Berkeley Pac ...
- MySQL异常:com.mysql.jdbc.PacketTooBigException: Packet for query is too large
### Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 > 1024). You ...
- Linux下查看Tomcat运行日志
查看方式 1.先切换到:cd usr/local/tomcat5/logs2.tail -f catalina.out3.Ctrl+c 是退出tail命令/alt+E+R重置 部署常用指令 1.ps ...
- 集合类(Collection和Map接口)简介
集合分为Collection和Map,详细分类如下图所示: 以下是测试验证代码: //HashSet,无序(存取不一致).去重 Set set_H = new HashSet(); set_H.add ...
- Django基础——ORM字段和字段参数
ORM概念: 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象( 1. 不同的程序员写的SQL水平参差不齐 2. ...
- BZOJ 3916 [Baltic2014]friends
[题解] 暴力枚举添加字符的位置,然后判断去掉这个位置的字符串是否有由两个相同的串拼接而成.本题的n的范围为200W,暴力判断会TLE,所以要使用哈希. #include<cstdio> ...
- Spring 工厂方法创建Bean 学习(三)
1, 静态工厂方法创建Bean 调用静态工厂方法创建 Bean是将对象创建的过程封装到静态方法中. 当客户端需要对象时, 只需要简单地调用静态方法, 而不同关心创建对象的细节. 要声明通过静态方法创建 ...
- shrink&split
shrink将分片数按因子缩减.hard link segment文件.因缩减前后hash一致,不需要rehash.如:0 ,1 , 2, 3, 4, 5, 6, 7, 8.9个分片缩减成3个:0 [ ...
{ //获取选中grid的列
var st="";
{
}
}