How can I insert alternating row background color in jqGrid?
Look at the altRows
and altclass
options. Beware of the typically inconsistent capitalization! This does use the jQuery UI theme if you're using jqGrid 3.5 or higher.
function applyZebra(containerId) {
$('#' + containerId + ' tr:nth-child(even)').addClass("jqgrow evenTableRow");
$('#' + containerId + ' tr:nth-child(odd)').addClass("jqgrow oddTableRow");
}
ContainerId is your jqGrid ID. Call this method on the "gridComplete" event of your jqGrid.
To use the jQuery UI theme use this code:
$('#'+gridName+' tr:nth-child(even)').removeClass("ui-priority-secondary");
$('#'+gridName+' tr:nth-child(odd)').addClass("ui-priority-secondary");
I use this code when I perform manual sorting (drag-n-drop)
Hello first defines the css:
<style type="text/css">
......
.Color_Red { background:red; }
.Color_Cyan { background:cyan; }
......
Then in jqGrid ...
$("#list2").jqGrid({
........
loadComplete: function() {
var rowIDs = jQuery("#list2").getDataIDs();
for (var i=0;i<rowIDs.length;i=i+1){
rowData=jQuery("#list2").getRowData(rowIDs[i]);
var trElement = jQuery("#"+ rowIDs[i],jQuery('#list2'));
// Red
if (rowData.Estado == 0) {
trElement.removeClass('ui-widget-content');
trElement.addClass('Color_Red');
}
// Cyan
if (rowData.Estado == 2) {
trElement.removeClass('ui-widget-content');
trElement.addClass('Color_Cyan');
}
}
},
});
Thus we walk the rows and apply RED to fulfill the condition that == 0 and Cyan which satisfy the condition == 2.
You should change rowData.XXX == XX by column name and value to check.
I have it this way and it works perfectly.
Luck!
Call loadComplete function to change background color of row in jqgrid.
loadComplete : function() {
$("tr.jqgrow:odd").addClass('myAltRowClassEven');
$("tr.jqgrow:even").addClass('myAltRowClassOdd');
},
for applying styles to background use below css.
<style type="text/css">
.myAltRowClassEven { background: #E0E0E0; border-color: #79B7E7; }
.myAltRowClassOdd { background: orange; }
</style>
Or
For changing row font in jqgrid see click below link
How can I change Background colour and Font of any row in JQGrid?
$("#myGrid").jqGrid({
...
gridComplete: function() {
var _rows = $(".jqgrow");
for (var i = 0; i < _rows.length; i += 2) {
_rows[i].attributes["class"].value += " alt";
}
}
});
© 2022 - 2024 — McMap. All rights reserved.