JqxGrid:根据列的值更改行的颜色

时间:2013-05-13 15:59:07

标签: jquery colors row jqxgrid

我在这个论坛上提到了几个答案 http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-cellsrendering.htm http://www.jqwidgets.com/community/topic/change-row-color-of-gridview/

两者都是使用细胞的cellrendered事件完成的,它可以应用于同一个细胞。如何获取一个单元格的值来更改不同单元格的颜色?

或者是否有方法可以更改整行的背景颜色?下面是我用来改变相同单元格颜色的代码。

var cellsrenderer = function(row, column, value, defaultHtml) {
                var element = $(defaultHtml);
                element.css({ 'background-color': '#' + value });
                return element[0].outerHTML;
            return defaultHtml;

$("#jqxgrid").jqxGrid({
            width: 1100,
            autorowheight: true,
            autoheight: true,
            source: dataAdapter,
            theme: 'classic',
            columns: [
            { text: 'Job Number', dataField: 'jobNum' },
            { text: 'Project Name', dataField: 'ProjName' },
            { text: 'Hours', dataField: 'hrssum' },
            { text: 'Project Type', dataField: 'Suffix' },
            { text: 'color name', dataField: 'colorname', cellsrenderer: cellsrenderer }
            ]
        });
        }

1 个答案:

答案 0 :(得分:7)

在cellrenderer中还有2个参数由jQWidgets Grid传递。

var cellsrenderer = function(row,column,value,defaultHtml,columnSettings,rowData){

}

最后一个参数 - rowData是一个JSON对象,它包含渲染的行值。因此,如果您有一个datafield = firstname的列,您可以写:

var firstName = rowData.firstname;