5

我从这个论坛提到了几个答案 http://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxgrid/jquery-grid-cellsrendering.htm http://www.jqwidgets.com/community/topic/change-网格视图的行颜色/

两者都是使用单元格的 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 }
            ]
        });
        }
4

1 回答 1

8

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

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

}

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

var firstName = rowData.firstname;

于 2013-05-13T18:10:18.417 回答