【发布时间】:2017-03-06 08:33:28
【问题描述】:
我正在尝试对闪亮 R 中的 DT 数据表做两件事。
我的代码(来自 github 的示例)如下:
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[4]) >= 200)
$("td:eq(3)", nRow).css("font-weight", "bold");
if (parseFloat(aData[4]) >= 100)
$("td:eq(3)", nRow).css("background-color", "#9BF59B");
}')
)
)
})
}
)
如您所见,我正在评估第 4 列,为单元格提供背景颜色以及定义它是否应该为粗体。
是否可以隐藏第 4 列?我只是想评价它,我不想展示它。
我的另一个问题是是否可以仅向具有绿色背景的单元格添加工具提示?我看到我应该使用回调,但我不知道怎么做,而且我不是 javascript 专家。
提前感谢您!
【问题讨论】:
-
要隐藏第 4 列,您可以使用
datasets::mtcars[,-3]而不是datasets::mtcars -
我可以使用 columnDefs = list(list(targets = 4, visible=FALSE)) 隐藏列。我想要隐藏的列必须放在我想要让 JS 成功应用的列之后
标签: javascript css r shiny dt