我正在使用闪亮仪表板中的DT包构建一个表。该表有几列,我使用DT的ColVis功能,允许用户隐藏/只显示他们感兴趣的列。
我的问题是 - 点击列可见性按钮后,是否可以更改这些按钮的颜色?截至目前,颜色不够均衡,很难分辨哪些列是可见的,哪些列不能导航到表中。我已经包含了一个截图,显示了我的意思。 The Site_ID column is not visible in the table, while the Participant_ID column is.
我在google chrome中使用了inspect元素来查找对象名称,它看起来像是:a.dt-buttons.buttons-columnVisibility,位于body.skin-blue,div.dt-button-collection。< / p>
使用此信息我将以下行添加到我的ui.R代码中:
标记$ head(标记$ style(HTML(&#34; .skin-blue .dt-button-collection .buttons-columnVisibility .active a {background-color:#4d4d4d}&#34;)))< / p>
但这似乎没有做任何事情。任何有关在我的仪表板中实现此自定义CSS / HTML的帮助将不胜感激。
答案 0 :(得分:0)
基于this answer,看起来需要使用background
设置按钮颜色。我还使用!important
来覆盖DT按钮样式,尽管这是may not be the best practice。
这是一个小例子:
library(DT)
library(shiny)
ui <- basicPage(
tags$head(
tags$style(
HTML(
".dt-button.buttons-columnVisibility {
background: #FF0000 !important;
color: white !important;
opacity: 0.5;
}
.dt-button.buttons-columnVisibility.active {
background: black !important;
color: white !important;
opacity: 1;
}"
)
)
),
h2("The iris data"),
DT::dataTableOutput("mytable")
)
server <- function(input, output) {
output$mytable = DT::renderDataTable({
datatable(
iris, rownames = FALSE,
extensions = 'Buttons',
options = list(dom = 'Bfrtip', buttons = I('colvis'))
)
})
}
shinyApp(ui, server)