我想根據單元格的內容設置單元格的背景顏色。JQGrid:如何根據內容設置單元格樣式
我的第一個問題:有沒有一種方法可以從xml數據中設置單元格的背景顏色?
如果不是,這是我網格的定義:
$("#grid_sites").jqGrid({
url:"getgridxmlsites.php?detailid=" + $('#hdnStudyDetailId').val(),
datatype: "local",
height: 160,
width: 832,
shrinkToFit: true,
caption:"",
colNames :["Site","Name","PI","Location","Phone","Status"],
colModel :[
{name:"sitenumber", index:"sitenumber", width:50, align:"right"},
{name:"name", index:"name", width:120},
{name:"location", index:"location", width:100},
{name:"phone", index:"phone", width:100},
{name:"status", index:"status", width:70}
],
pager:"pager_sites",
scroll: 1,
viewrecords:true,
sortable:true,
sortname: "sitenumber",
autowidth: true,
pgbuttons: false,
loadonce: true,
gridview: true
});
我想改變基於其內容的狀態單元格的背景顏色。 我知道我應該在狀態欄上使用一個格式化程序,但是我不確定代碼只是改變那個單元格的背景顏色。
{name:"status", index:"status", width:70, formatter: statusFormatter}
function statusFormatter(cellvalue, options, rowObject)
{
What exactly would go here for something like this:
if (cellValue == 'Pending') change the cell's background color to yellow
else if (cellValue == 'Approved') change the cells's background color to green;
}
謝謝!
非常感謝您的回覆。我可能會使用loadComplete事件並遍歷所有行來設置單元格屬性。 –
@David Davis:通過所有行在'loadComplete'內循環的方式總是緩慢,因爲cellattr或自定義formater與'gridview:true'參數一起使用,您已經使用它。如果因爲任何其他原因決定使用循環,請查看[答案](http://stackoverflow.com/questions/5664587/jqgrid-load-large-data-set-without-pagination/5690583#5690583 ),它描述了相對有效的方法來實現這一點。 – Oleg
再次感謝。我在使用cellattr時再次詳細閱讀了您的文章,並嘗試過並且更喜歡它。現在我知道根據內容格式化單個單元格的正確方法。再次感謝您的幫助。 –