2012-01-04 140 views
2

請幫我解決JQGrid中的以下問題。我是JqGrid的新手,所以請和我一起裸照。在JQGrid中更改單元格顏色,同時點擊單元格

我有要求改變單元格顏色後點擊。如果我點擊單元格,它應該變成綠色,如果我點擊同一個單元格,它會變成紅色。現在問題是我正在試圖找到如何去做。 我試圖使用onSelectCell事件,但每當我嘗試選擇任何單元格時,它都不會給我任何JQGrid中的更改。我已經在colModel上應用onSelectCell以及jqGrid級別。

我已經創建瞭如下的靜態數據網格,

<html> 
<head> 
<link rel="stylesheet" type="text/css" media="screen" href="css/jquery-ui-1.8.2.custom.css" /> 
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" /> 
<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script> 
<script src="js/grid.locale-en.js" type="text/javascript"></script> 
<script src="js/jquery.jqGrid.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
jQuery(document).ready(function() 
      { 
jQuery("#list4").jqGrid({ datatype: "local", height: 250, 
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
colModel:[ {name:'id',index:'id', width:60, editable: false, sorttype:"int", 
     onSelectCell:function (rowid, celname, value, iRow, iCol) {background: '#888888';}}, 
{name:'invdate',index:'invdate', width:90, sorttype:"date"}, 
{name:'name',index:'name', width:100}, 
{name:'amount',index:'amount', width:80, align:"right",sorttype:"float"}, 
{name:'tax',index:'tax', width:80, align:"right",sorttype:"float"}, 
{name:'total',index:'total', width:80,align:"right",sorttype:"float"}, 
{name:'note',index:'note', width:150, sortable:false} ], 
multiselect: false, 
caption: "Manipulating Array Data" }); 
var mydata = [ {id:"1" ,invdate:"2007-10-01",name:"test",note:"note",amount:"200.00",tax:"10.00",total:"210.00"}, 
{id:"2",invdate:"2007-10-02",name:"test2",note:"note2",amount:"300.00",tax:"20.00",total:"320.00"}, 
{id:"3",invdate:"2007-09-01",name:"test3",note:"note3",amount:"400.00",tax:"30.00",total:"430.00"}, 
]; 
for(var i=0;i<=mydata.length;i++) jQuery("#list4").jqGrid('addRowData',i+1,mydata[i]); 

}); 

</script> 
</head> 
<body> 
Loading Static Grid... 
<table id="list4"></table> 
<div id="pager3"></div> 
</body> 
</html> 

請儘快回覆我。

感謝和問候, 賽倫德拉瑞裏

回答

2

你正在嘗試做不會有工作。根據jQgrid colModel options的文檔,您會注意到colModel中沒有選項onSelectCell。但在jqGrid events中有一個事件叫做onCellSelect。它返回單元格的id和col的索引,因此現在可以獲取被單擊的td。之後,所有剩下的就是操縱CSS來實現所需的東西。

這裏是一個fiddle功能的例子。在那裏的代碼可以改進很多,但希望它能給出和想法如何實現。如果您自定義jqGrid,這裏描述的代碼類型將會失敗,就像將自己的id代替jqGrid默認值一樣,請注意jqGrid的創建。讓我知道你是否需要進一步的幫助。

+0

感謝您的幫助,您正在解決我的第一部分。 – Shailendra 2012-01-05 05:46:05

+0

第二部分是什麼?如果答案能夠幫助您解決問題,則可以將答案標記爲已接受。 – 2012-01-05 06:04:51