Jqgrid中给表格添加url

Jqgrid给单元格添加URL没有给定的方法,需要自己实现
实现思路:
首先要取得所有的行,然后遍历行,把每行的数据对应取出来,然后再对应遍历行数据,把具体的单元格取出来(在jqgrid貌似只能取到单元格内容,而不能取到特定的单元格(如果有知道怎么取的大侠请不吝赐教))然后直接把数据赋值到单元格就可以了。
实现步骤:
1.找到所有的表格中的行的索引
    var array=gridTable.getDataIDs(); 获取数组

getDataIDs

none

array[]

返回当前grid里所有数据的id

2.遍历行索引数组,找到行里面的值
    var rowarray=gridTable.getRowData(array[1]);得到一个行的数组,里面有行的各种值,包括列名称(colname)和值,它是一个以列名称为键,单元格中的值为内容的数组

getRowData

rowid or none

array[]

返回指定行的数据,返回数据类型为name:valuenamecolModel中的名称,value为所在行的列的值,如果根据rowid找不到则返回空。在编辑模式下不能用此方法来获取数据,它得到的并不是编辑后的

3.遍历rowarray,和rowid结合找到具体的单元格,通过gridTable.getCell(array[i],rowarray[j]);

getCell

rowid, iCol

单元格内

返回指定rowidiCol的单元格内容,iCol既可以是当前列在colModel中的位置索引也可以是name值。注意:在编辑行或者单元格时不能使用此方法,此时返回的并不是改变的值,而是原始

4.设定表格内容:setCell()
 
    关于如何获取colname,有一个方法,for(i in gridTable.getRowData(1)) console.log(i);,这个里面的i,就是键
>>> for(i in gridTable.getRowData(1)) console.log(i);
CITY
KPI3
KPI2
KPI6
KPI5
KPI1
CREATETIME
以上是在firebug中查看的  

setCell

rowid,colname, data, class, properties

jqGrid

改变单元格的值。rowid:当前行idcolname:列名称,也可以是列的位置索引,从0开始;data:改变单元格的内容,如果为空则不更 新;class:如果是string则会使用addClass方法将其加入到单元格的css中,如果是array则会直接加到style属性中;properties:设置单元格属

最终代码如下:

	//Jqgird给表格添加URL链接
	function processGridValue(){
		var cell;
		var array=gridTable.getDataIDs();
		for ( var i = 0; i < array.length; i++) {
			var rowarray=gridTable.getRowData(array[i])
			for ( var rowname in rowarray) {
				if(rowname.indexOf("KPI")>-1){
					cell=gridTable.getCell(i+1,rowname);
					gridTable.setCell(i+1,rowname,'<a href="#">xxx'+cell+'</a>');
				}
			}
		}
	}

 

posted @ 2013-05-14 11:02  yanglover  阅读(7597)  评论(0编辑  收藏  举报