dojo 控制dgrid中子单元值的背景色

k10s72fa  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(154)

我有一个dgrid与4列如下:

gridColumns: function() {
    return [{
            "field": "Column1",
            "label": Column1
        }, {
            "field": "Column2",
            "label": Column2
        }, {
            "field": "Column3",
            "label": Column3
        }, {
            "field": "Column4",
            "label": Column4,
            "sortable": false,
            "renderCell" : function(object, value, node) {
                if(value.length > 1){
                    for ( var i = 0; i < value.length; i++) {
                        domConstruct.create("div", {
                            "innerHTML" : value[i]
                        }, node);
                    }
                    return;
                }
                return document.createTextNode(value);
            }
        }];
},

如您所见,Column4cell可以有多个值,因此我重写renderCell以循环这些值并将它们输出到单元格内的新行中。
这个很好用。
然而,所有3个值的背景颜色与行的背景颜色相同。因此,如果行是灰色或白色(取决于它是奇数还是偶数),则单元格背景是灰色或白色。
我如何对这些“子价值”也做同样的事情?
我想要的行为是:如果行的背景色应该是第一个值的背景色,第二个值的背景色应该是交替的,第三个值的背景色应该是交替的,以此类推。我不关心最后一个值的背景色是否与下一行的颜色相同。我只想交替值的颜色。
我怎么能做到这一点与上述代码?

aiazj4mn

aiazj4mn1#

将CSS类(或style属性)添加到要创建的子单元格:

domConstruct.create("div", {
    className: 'subCellClass',
    innerHTML : value[i]
}, node);

相关问题