如果jqxgrid中的单个列中没有数据,则突出显示整行

时间:2015-03-10 07:57:20

标签: javascript jquery jqxgrid jqxwidgets

我的要求是:

如果jqx网格中的至少单个列中没有数据,我需要突出显示整行吗?

可以帮助我吗?
var cellsrenderer = function (row, columnfield, value, defaulthtml, columnproperties, rowdata) 
{    
 if (value > 2) 
 {
   return '<span style="margin: 4px; float: ' + columnproperties.cellsalign + '; color: #ff0000;font-weight:bold;">' + value + '</span>';
 }    
 else 
 {
    return '<span style="margin: 4px; float: ' + columnproperties.cellsalign + '; color: #00000;font-weight:normal;">' + value + '</span>';
 }
};

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:Cells Styling。该示例显示了条件单元格格式。在您的情况下,您必须实现&#34; cellclassname&#34;所有Grid列的函数。通过这样做,您将能够实现条件行格式。

答案 1 :(得分:0)

如果您通过cellclassname路线,可以尝试以下方式:

var cellClass = function(gridId, highlightClass) {
    highlightClass = highlightClass || 'default';
    return function(row, columnfield, value) {
        return hasEmptyCell(gridId, row) ? highlightClass : '';
        // where hasEmptyCell is a function that checks if a row has an empty cell
    };
};

var cols = [
    { text: 'Product Name', datafield: 'ProductName', width: 250 },
    { text: 'Quantity per Unit', datafield: 'QuantityPerUnit', cellsalign: 'right', align: 'right', width: 120 },
    { text: 'Unit Price', datafield: 'UnitPrice', align: 'right', cellsalign: 'right', cellsformat: 'c2', width: 100 },
    { text: 'Units In Stock', datafield: 'UnitsInStock', cellsalign: 'right', width: 100 },
    { text: 'Discontinued', columntype: 'checkbox', datafield: 'Discontinued' },
];

for (var i in cols) {
    cols[i].cellclassname = cellClass('#test-grid', 'highlighted');
}

// then initialize jqxGrid using cols
$("#jqxgrid").jqxGrid({
    columns: cols
    /* ... other properties */
});