【问题标题】:renderDataTable color pre selected rowsrenderDataTable 颜色预选行
【发布时间】:2016-12-05 10:59:30
【问题描述】:

这是一个示例,说明如何选择一列(第 3 列),以某种方式突出显示大于 100 的值以及以某种方式突出显示大于 200 的值。

library("shiny")
library("shinydashboard")
library("datasets")
library("DT")

header <- dashboardHeader()

sidebar <- dashboardSidebar()

body <- dashboardBody(
  DT::dataTableOutput("mtcarsTable")
)

shinyApp(
  ui = dashboardPage(header, sidebar, body),
  server = function(input, output) {

    output$mtcarsTable <- renderDataTable({
      DT::datatable(datasets::mtcars, 
                    options = list(rowCallback = JS('
                                                    function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
                                                    // Bold and green cells for conditions
                                                    if (parseFloat(aData[3]) >= 200)
                                                    $("td:eq(3)", nRow).css("font-weight", "bold");
                                                    if (parseFloat(aData[3]) >= 100)
                                                    $("td:eq(3)", nRow).css("background-color", "#9BF59B");
                                                    }')
                      )
                    )
  })
  }
                    )

我只是在寻找一种只选择行而不是列的方法。例如,选择第 3、9、11 和 13 行并将这些行涂成黄色。非常感谢有关如何修改上述代码以实现此目的的任何帮助。提前致谢。

【问题讨论】:

  • 看起来aData 是一个数据框。有什么理由不能参考aData[c(3,9,11,13),]
  • @Warner,你是对的 aData 是一个数据框,我按照你的建议做了,我没有看到任何输出,也没有看到任何错误,我怀疑我必须更改下一个也行,$("td:eq(3)", nRow).....,但不确定如何?
  • @Science11,看看我的例子stackoverflow.com/questions/38565033/…

标签: r datatable shiny shinydashboard


【解决方案1】:

不确定这是否是您要查找的内容,但下面的代码将以黄色突出显示“disp”(aData[3]) 列的值大于 200 的所有行。

'function(nRow, aData, iDisplayIndex, iDisplayIndexFull) {
 if (parseFloat(aData[3]) >= 200)
 $(nRow).css("background-color", "#ffff00");
 }'

只需将其插入 rowCallback 部分即可。

或者,

编辑您的代码以删除列号:

$("td", nRow).css("background-color", "#9BF59B");

【讨论】:

    猜你喜欢
    • 2019-05-08
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-23
    • 2015-10-30
    • 2014-04-09
    相关资源
    最近更新 更多