http://onlyaa.com/html/idehelp/20081203/2347.html
今天犯了一个错误,用这种方式grid.getStore().getAt(rowIndex).get(columnName)去获取值的时候最后会弹出来为空或者找不到对象的错误,结果找到了原因
是因为写的循环越界了最后一个值为空。
在grid怎么获取到所有的数据和列名!(列是动态的)!
在grid前没有checkbox的
var rowIndex = grid.getStore().getCount();//grid的行数
var colIndex = grid.getColumnModel().getColumnCount(); //grid的列数
这里面只知道是多少列和多少行,但是里面的数据取不了,我用了
var rowIndex = grid.getStore().getCount();//grid的行数
var colIndex = grid.getColumnModel().getColumnCount(); //grid的列数
alert(colIndex);
for(var i = 0; i< rowIndex ; i++){
record = grid.getStore().getAt(i);
var colname = grid.getColumnModel().getDataIndex(i); //获取列名
// var celldata = grid.getStore().getAt(cell[0]).get(colname); //获取数据
Ext.MessageBox.alert("test",colname);
for (var j = 0; j < colIndex; colIndex++) {
Ext.MessageBox.alert("test",grid.getColumnModel().getDataIndex(j));
}
}
这样也不行,请问一下,我该怎么做!就是要取到所有的数据 !
grid.getStore().getAt(rowIndex).get(columnName)
==================================================
行选择模式:
Js代码
var rowcount = grid.getSelectionNode().getSelections();
var rowcount = grid.getSelectionNode().getSelections();
可以获取全部选中的记录,得到的rowcount将是一个Array,比如想获取sex列的数据,语句如下
Js代码
var strsex = rowcount[i].get(‘sex’);
var strsex = rowcount[i].get(‘sex’);
单元格选择模式
如果在GridPanel的配置属性增加sm属性如下
Js代码
sm:new Ext.grid.CellSelectionModel();
sm:new Ext.grid.CellSelectionModel();
则表格的选择模式为单元格选择模式。当单击时将选中对应的某一个单元格,而不是默认的选择某一行。选择方式如下
Js代码
var cell = grid.getSelectionNode().getSelectedCell();
var cell = grid.getSelectionNode().getSelectedCell();
得到的cell记录了当前选择的行(cell[0])以及列(cell[1]).可以通过一下语句得到该单元格数据
Js代码
var colname = grid.getColumnModel().getDataIndex(cell[1]); //获取列名
var celldata = grid.getStore().getAt(cell[0]).get(colname); //获取数据
var colname = grid.getColumnModel().getDataIndex(cell[1]); //获取列名
var celldata = grid.getStore().getAt(cell[0]).get(colname); //获取数据
getStore():获取表格的数据集
getAt():获取该数据集cell[0]行
get():获取该行colname的数据
2) 为表格增加链接
有时我们需要为表格中的某一列添加一个链接。可以利用renderer配置属性为该列添加html
如下:{id:'3',header:'名称',dataIndex:'name',renderer:DomUrl},
定义DomUrl方法
Js代码
function DomUrl(value){
return "<a href=>"+value+"</a>";
}
function DomUrl(value){
return "<a href=>"+value+"</a>";
}
如果表格内的数据是一个链接如:www.sina.com这样写法自然没有问题,但是大多数时候我们在表格中不会直接写一个链接,如果又需要根据单元格内容动态为链接添加几个参数。那这种写法就几乎没有什么用了。因为这个属性是在表格初始化的时候定义好的,而且表格初始化之后这个属性无法改变,也就是只读属性。
处理方法如下:
定义一个全局变量,初始值为0;DomUrl函数如下
Js代码
function DomUrl(value){
var row = grid.getSelectionModel().selectRow(startrow);//选中当前行
var rownum = grid.getSelectionModel().getSelected();//获取当前行
startrow ++;
var strurl = "abc.jsp?id=" + rownum.get('id');//获取当前选中行的值,并组织链接字符串
return "<a href='"+strurl+"'>"+value+"</a>";
}
function DomUrl(value){
var row = grid.getSelectionModel().selectRow(startrow);//选中当前行
var rownum = grid.getSelectionModel().getSelected();//获取当前行
startrow ++;
var strurl = "abc.jsp?id=" + rownum.get('id');//获取当前选中行的值,并组织链接字符串
return "<a href='"+strurl+"'>"+value+"</a>";
}
不过不要忘记在下次提交的时候将startrow赋值为0。
3) 表格的属性
表格的属性分为配置属性(在操作表格时无法修改),以及其他可读写属性,方法,以及事件。如下:
配置属性
a) activeItem:渲染布局时激活的子元素。
b) applyTo:指定渲染对象。
c) autoDestroy:当容器的子元素从容器中移除时是否自动销毁。
d) autoExpandColumn:指定自动填充表格剩余区域的列id
e) autoExpandMax:可自动扩张的最大宽度。
f) autoExpandMin:可自动扩张的最小宽度
g) autoHeight:自动扩充高度
h) autoShow:是否自动显示
i) autoWidth:自动扩充宽度
j) bbar/tbar:底部/顶部状态栏
k) bufferResize:容器再布局的缓冲频率
l) colModel/cm:列模式
m) cls:组件的额外css格式。
n) collapsible:是否显示快捷隐藏按钮
o) defaults:指定默认配置。
p) disableSelection:是否禁止选择表格行或列
q) enableDragDrop:是否允许表格列的拖放操作。
r) enableHdMenu:是否显示表格列的菜单。
s) frame:边框是否显示
t) loadMask: 是否显示加载动画
u) selModel/sm:表格选择模式
v) store:表格数据集
w) stripeRows:是否显示分隔线。
x) title:表格标题
方法
a) getColumnModel():得到表格列模型
b) getGridEl():得到表格下的元素
c) getPosition():得到组件的当前位置,返回一个数组
d) getSelectionModel():得到选中模型
e) getSize():得到组件大小
f) getStore():得到组件的数据集
g) getView():得到表格的GridView对象。
h) hide():隐藏当前组件
i) isVisible():判断当前组件是否显示
j) setDisabled( Boolean):设置组件的可用性
k) un():解除组件的监听
l) on():为组件添加监听
on ( String eventName, Function handler, [Object scope] )
eventName:添加监听的名称
handler:事件处理函数
scope:事件响应的作用域,包括scope,delay,single,buffer。
=============================================
var jsonArray1 = [];
var selections = grid.getSelectionModel().getSelections();
for (var i = 0; i < selections.length; i++) {
var record = selections[i];
jsonArray1.push(record.data);
alert('提示',selections.length+record.get("ODEFINEID") + "," + record.get("ODEFINENAME") + "," + record.get("DATASOURCEID"));
}
分享到:
相关推荐
js调试工具,javascript调试工具
鬼鬼JS调试工具,就如软件名说的那样,辅Zhu程序员的,提高效率的,有需要的欢迎来下载! V8调试注意:一般JS运行返回的结果长度不会超过1024,当遇到变态级的超过1024长度的返回结果时,增大数值,否则会崩溃。小...
IE JS 调试工具 和 FireFox中的FireBug很相似,非常方便在IE中调试JS
发条js 调试工具
是一个轻量快速、功能强大的JS调试工具,鬼鬼JS调试工具官方版可以将JavaScript的语言代码进行格式化处理,可以解密、可以解密、是目前市面上比较好用的JS调试工具了。这次hi谷歌V8引擎解析JS,从而轻松提高编程人员...
鬼鬼js调试工具7.5,js逆向必备工具。本工具中包含dll文件和ec文件,解压即可直接运行。是一款不可多得的好东西。
非常强大的一款js调试工具,用来调试网站中的js代码
js 调试 工具 javascript WEB工程 javascript调试工具
IE js调试工具 IE js调试工具 IE js调试工具 IE js调试工具 IE js调试工具
鬼鬼JS调试工具是一款非常实用的JS调试工具,鬼鬼JS调试工具能够很好的辅助程序员进行工作,从而提高工作效率,降低工作压力,赶紧来下载使用吧!
好用的javascript调试工具,方便进去js编写调试。
鬼鬼JS7.0版本的调试工具
3、正则调试增加生成超级列表框代码; 4、修复正则调试生成代码没有处理换行符的问题; 5、修复部分程序无法定位进程路径的问题; 6、修复网页分析右键判断元素可视状态错误导致元素为隐藏状态时菜单没有改变为显示...
js调试工具 很好用的!希望对大家有帮助
一个IE下的优秀js调试工具,做web开发的朋友都清楚,js程序的调试是相当郁闷的,因为首先这种语言语法比较灵活,它是一种弱类型的脚本语言,很多错误是无法控制的,这些不谈,最 痛苦的是没有什么好的调试工具,现在...
IE下的JS调试工具,IE下的JS调试工具,IE下的JS调试工具
发条js调试工具,它拥有多项强大的功能,可对js代码进行压缩、查找、解密、格式化等操作,并提供了最详细的JScript速查手册,让用户不仅能够调试代码,还可以从帮助手册当中更清晰的学习到JScript的各种知识。发条js...
发条js调试工具.rar
这个调试器的好处是,可以很方便格式化JS代码,然后输入你要调试的字符,然后点击运行,可以当场拿到结果,等到结果ok了的话,就可以用python 的pyexecjs执行。实用性比较强,如果安装的时候碰到系统提示非法性,...
JS调试工具支持调试任意js 易语言代码复制等