Shiny 在数据表中隐藏过滤器

Shiny 在数据表中隐藏过滤器,shiny,dt,Shiny,Dt,在我闪亮的应用程序中,我正在使用DT包创建一个数据表。我启用了列过滤器,但是,我想隐藏过滤器框的行。我在datatable之外有单独的闪亮小部件,它将充当过滤器,并通过searchCols选项将它们传递给datatable。禁用列过滤器会隐藏过滤器框的行,但searchCols选项不起作用 运行应用程序并检查元素时,我看到要删除的行名为…。如果我右键单击它并单击“Delete element”,行将消失,datatable看起来就像我希望的那样,外部过滤器将按预期工作。我还可以通过在elemen

在我闪亮的应用程序中,我正在使用DT包创建一个数据表。我启用了列过滤器,但是,我想隐藏过滤器框的行。我在datatable之外有单独的闪亮小部件,它将充当过滤器,并通过searchCols选项将它们传递给datatable。禁用列过滤器会隐藏过滤器框的行,但searchCols选项不起作用

运行应用程序并检查元素时,我看到要删除的行名为…。如果我右键单击它并单击“Delete element”,行将消失,datatable看起来就像我希望的那样,外部过滤器将按预期工作。我还可以通过在element.style css中添加“display:none”来实现这一点。我的问题是,在呈现datatable时,如何告诉应用程序删除此行

我不确定我能提供什么样的可复制代码,但这里有一些截图,让我更清楚我想做什么

我想删除所有的筛选框及其所在的行,以便数据位于列标题的正下方,就好像没有启用筛选一样。

如果我检查应用程序并删除突出显示的元素或添加“display:none”,则该行将隐藏。如何在呈现datatable时自动执行此操作?

我不知道这是否适用于您的小部件,但您可以尝试使用
id
选择器和子选择器在样式表中设置
display
属性:

library(shiny)
library(DT)

ui <- fluidPage(
  tags$style("#mydatatable thead > tr:nth-child(2) {display:none;}"),
  mainPanel(
    dataTableOutput("mydatatable")
  )
)

server <- function(input, output) {

  output$mydatatable <- DT::renderDataTable(
    datatable(iris, filter = 'top', options = list(
              pageLength = 5, autoWidth = TRUE)
    )
  )

}

shinyApp(ui = ui, server = server)
库(闪亮)
图书馆(DT)

ui我不明白,添加
display:none
并不能如您所愿工作?当我在运行应用程序后检查元素时手动将其放入时,它确实工作。我不知道如何使css在呈现datatable时出现,因为通过检查元素来修改元素显然不是一个永久性的解决方案。随着我越来越多地使用它,我注意到这也有隐藏表中第二行数据的效果。有没有办法指定它只应用于标记的第二行,而不应用于标记?是的,你是对的,我没有看到!我相应地更新了我的答案。事实上我找到了答案。它不喜欢“>”符号,所以我需要在HTML函数中的style div中包装所有内容。