列的 DT 条件格式

DT conditional formatting for column

我需要一些有关 DT::datatable 的条件格式方面的帮助。我想通过以斜体打印它们来突出显示以下示例中的几个名称。需要突出显示的名称在向量中 name.highlight <- c("ABC","JKL")

require(DT)

mydf <- data.frame(name=c("ABC","DEF","GHI","JKL","MNO","PQR"), value=1:6)
DT::datatable(mydf)

根据我所看到的 here and here,我似乎需要使用渲染。我不知道如何编写 JS 代码或如何传入 vector/container 以及所有需要突出显示的字符串。

datatable(mydf, options = list(columnDefs = list(list(
targets = 0, render = JS("function(data, type, full, meta) {", ..., "}")
))))

谢谢。

datatable(mydf, options = list(columnDefs = list(list(
    targets = 0, render = JS(
        "function(data, type, full, meta) {",
            "italic_words=['ABC','JKL']",
            "return type === 'display' && italic_words.indexOf(data) != -1 ?",
            "'<i>'+data+'</i>' : data;",
        "}")
))))

我在 javascript 函数中定义了 italic_words 变量。该变量包含一个数组,其中包含您想要的所有斜体字词。然后我使用了 indexOf() javascript 函数。如果名称不在变量 italic_words 中,此函数将 return -1,并且名称不会斜体化。