您的位置:首页 > Web前端 > JavaScript

获取ExtjS grid 单元格cell的值

2012-09-23 22:45 344 查看
2011-04-09 15:42 1017人阅读 评论(0) 收藏 举报

sm:new Ext.grid.CellSelectionModel();     

则表格的选择模式为单元格选择模式。当单击时将选中对应的某一个单元格,而不是默认的选择某一行。选择方式如下 

Java代码  



var cell = grid.getSelectionNode().getSelectedCell();     

得到的cell记录了当前选择的行(cell[0])以及列(cell[1]).可以通过一下语句得到该单元格数据 

Java代码  



var colname = grid.getColumnModel().getDataIndex(cell[1]);  //获取列名      

var celldata = grid.getStore().getAt(cell[0]).get(colname); //获取数据  

getStore():获取表格的数据集 

getAt():获取该数据集cell[0]行 

get():获取该行colname的数据 

为表格增加链接 

有时我们需要为表格中的某一列添加一个链接。可以利用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。 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  extjs function java header html