R 有条件地设置行组的样式

R 有条件地设置行组的样式,r,dt,R,Dt,是否可以设置行组标题的样式?例如,如何在此处更改字体颜色: library(DT) mtcars2 = mtcars[1:20, ] datatable( mtcars2[order(mtcars2$cyl), ], extensions = 'RowGroup', options = list(rowGroup = list(dataSrc = 2)), selection = 'none' ) 我已经找到了答案,但我无法将答案应用到我的案例中 在这种情况下,如何仅设置特定

是否可以设置行组标题的样式?例如,如何在此处更改字体颜色:

library(DT)

mtcars2 = mtcars[1:20, ]
datatable(
  mtcars2[order(mtcars2$cyl), ],
  extensions = 'RowGroup',
  options = list(rowGroup = list(dataSrc = 2)),
  selection = 'none'
)
我已经找到了答案,但我无法将答案应用到我的案例中

在这种情况下,如何仅设置特定组的标题样式

mtcars2 = mtcars[1:20, ]
datatable(
  mtcars2[order(mtcars2$cyl), ],
  extensions = 'RowGroup',
  options = list(
    rowGroup = list(
      dataSrc = 2,
      startRender = JS(
        "function(rows, group) {", 
        "  var style = group == 4 ? 'background-color: lime;' : 'background-color: crimson;';",
        "  var td = `<td style='${style}' colspan=12>${group}</td>`;",
        "  return $(`<tr>${td}</tr>`);",
        "}"
      )
    )
  ),
  selection = 'none'
)


编辑 如果有嵌套组,以下是如何仅将样式应用于第二层:

mtcars2 = mtcars[1:20, ]
datatable(
  mtcars2[order(mtcars2$cyl), ],
  extensions = 'RowGroup',
  options = list(
    rowGroup = list(
      dataSrc = c(2,11),
      startRender = JS(
        "function(rows, group, level) {", 
        "  if(level == 1) {",
        "    var style = 'background-color: lime;'",
        "    var td = `<td style='${style}' colspan=12>${group}</td>`;",
        "    return $(`<tr>${td}</tr>`);",
        "  }else{",
        "    return group;",
        "  }",
        "}"
      )
    )
  ),
  selection = 'none'
)
mtcars2=mtcars[1:20]
数据表(
mtcars2[订单(mtcars2$cyl),],
扩展='行组',
选项=列表(
行组=列表(
dataSrc=c(2,11),
startRender=JS(
“函数(行、组、级别){”,
“如果(级别==1){”,
“var style='background color:lime;'”,
“var td=`${group}`;”,
“return$(`${td}`);”,
“}否则{”,
“返回组;”,
"  }",
"}"
)
)
),
选择='无'
)

非常好!如果我想将背景色:石灰应用于所有组,该怎么办?(无条件地)@GeorgeDontas只需将
var style=…
替换为
var style='background color:lime;'
。最后一个问题:对于多个组,
dataSrc=c(2,11)
如何仅设置第二个组的样式?
mtcars2 = mtcars[1:20, ]
datatable(
  mtcars2[order(mtcars2$cyl), ],
  extensions = 'RowGroup',
  options = list(
    rowGroup = list(
      dataSrc = c(2,11),
      startRender = JS(
        "function(rows, group, level) {", 
        "  if(level == 1) {",
        "    var style = 'background-color: lime;'",
        "    var td = `<td style='${style}' colspan=12>${group}</td>`;",
        "    return $(`<tr>${td}</tr>`);",
        "  }else{",
        "    return group;",
        "  }",
        "}"
      )
    )
  ),
  selection = 'none'
)