我的代码是这样的:

    ...

    .rowGrouping({
                bExpandableGrouping: false,
                iGroupingColumnIndex: 2,
                bHideGroupingColumn: true,
                asExpandedGroups: [""],

                "fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                      $("td.group").css({
                           "background-color": aData.colour,
                      });
                }
    });

    ...


我需要fnRowCallback,因为我想获取colour参数。但这不起作用。

最佳答案

原因


请参见my answer关于行分组的其他问题。通常,不再建议使用行分组插件。

它不适用于您,因为fnRowCallback是jQuery DataTables插件而非行分组插件的选项,请参见list of options以获取行分组插件。


  解


使用CSS规则定位类为.group的行

.dataTable tr.group {
   background-color:#CCC;
}


如果需要动态设置分组行颜色,则可以使用在分组完成后调用的fnOnGrouped回调,分析组并为它们适当地着色。

fnOnGrouped: function(groups){
    console.log("Groups", groups);

    for(key in groups){
       if(groups.hasOwnProperty(key)){
           $(groups[key].nGroup).css('background-color', '#F99');
       }
    }
}



  演示


有关代码和演示,请参见this jsFiddle

07-26 03:33