列的DT条件格式

时间:2015-02-26 22:32:28

标签: r datatables

我需要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)

根据我看到的herehere,似乎我需要使用渲染。我不知道如何编写JS代码或如何传递一个包含所有需要突出显示的字符串的向量/容器。

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

感谢。

1 个答案:

答案 0 :(得分:2)

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中,则此函数将返回-1,并且名称不会显示为斜体。

相关问题