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>');
				}
			}
		}
	}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM