列的条件格式化 [英] DT conditional formatting for column

查看:219
本文介绍了列的条件格式化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要帮助DT :: datatable的条件格式化。我想在下面的例子中突出显示几个名字,用斜体字打印。需要突出显示的名称是向量 name.highlight < - c(ABC,JKL)

I need some help with conditional formatting for DT::datatable. I would like to highlight a couple of names in the following example by printing them in italics. The names which need to be highlighted are in a vector 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 ,好像我需要使用render。我不知道如何编写JS代码,或者我可以如何传递所有需要突出显示的字符串的向量/容器。

Based on what I see here and here, seems like I need to use render. I have no idea how to write the JS code or how I can pass in a vector/container with all the strings which need to be highlighted.

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

I defined the italic_words variable in the javascript function. The variable contains an array of all the words you want in italic. Then I used the indexOf() javascript function. If the name isn't in the variable italic_words, this function will return -1, and the name will not be italicized.

这篇关于列的条件格式化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆