Выделите всю строку, если в одном столбце в jqxgrid нет данных

Мое требование:

Мне нужно выделить всю строку, если нет данных хотя бы в одном столбце в сетке 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>';
 }
};

person shashank    schedule 10.03.2015    source источник


Ответы (2)


Вы можете попробовать что-то вроде этого: Стили ячеек . В примере показано условное форматирование ячеек. В вашем случае вам необходимо реализовать функцию "cellclassname" для всех столбцов сетки. Сделав это, вы сможете реализовать условное форматирование строк.

person scripto    schedule 10.03.2015

Если вы идете по маршруту 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 */
});
person Eldon Bite    schedule 13.03.2015