在R DT数据表中更改控件的颜色

7
在R shiny和datatable(DT)中,希望将控制文本的颜色更改为蓝色,因为它建议可以在这里实现:

https://datatables.net/manual/styling/theme-creator

通过将Control text:的值调整为#0000ff,似乎可以更改分页按钮以及网页上的搜索文本等内容的文本颜色为蓝色,但我希望这适用于已呈现的datatable的闪亮应用程序。非常感谢您的帮助。
请参见下面的示例,其中文本的颜色未更改为蓝色...
  library(DT)
  library(shiny)

  ui=shinyUI(

    fluidPage(
      tags$head(tags$style(HTML("table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
                                background-color: #9c4242 !important;
                                } "))),
      DT::dataTableOutput("tt")
      )
    )

  server=shinyServer(function(input, output) {
    output$tt=DT::renderDataTable(
      DT:::datatable(
        head(iris, 50),rownames = FALSE,options = list(dom='ptl',
                                                       initComplete = JS(
                                                         "function(settings, json) {",
                                                         "$(this.api().table().header()).css({'background-color': '#000', 'color': '#fff'});",
                                                         "}")
        ),
        container = tags$table(
          class="compact",
          tags$thead(tags$tr(lapply(colnames(iris), tags$th)))
        )
      ) %>% formatStyle(columns=colnames(iris),color='white',background = 'black',target = 'row')
    )
  })


  shinyApp(ui=ui,server=server)

你只需要应用一些CSS。如果你检查你链接的页面,它会改变以下元素:.dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_processing, .dataTables_wrapper .dataTables_paginate - Xiongbing Jin
1
你能给我展示一个例子吗? - h.l.m
1个回答

8
这是一个示例(仅包含UI代码)
ui=shinyUI(

    fluidPage(
        tags$head(tags$style(HTML("table.dataTable.hover tbody tr:hover, table.dataTable.display tbody tr:hover {
                                  background-color: #9c4242 !important;
                                  }
                                  "))),
        tags$style(HTML(".dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_info, .dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate .paginate_button, .dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
            color: #0000ff !important;
        }")),
      DT::dataTableOutput("tt")
        )
    )

有没有办法针对单个数据表格来做这件事?我的页面上有几个数据表格,将此代码放在任何一个表格中都会应用到所有表格。 - jzadra
真希望这可以在程序中使用DT库来处理,但对于那些对CSS不熟悉的人来说,这是一个巨大的帮助。谢谢! - obewanjacobi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接