我在R& D中使用renderDataTable
有光泽地呈现我的数据,但过滤器位于表格的底部。有没有办法把它放在桌子的顶部?提前谢谢!
BTW,我在哪里可以找到renderDataTable
的选项列表?
mainPanel(
tabsetPanel(
tabPanel("Table",tableOutput("values")),
tabPanel("Tree Plot",plotOutput("plot")),
tabPanel("Segment Data",dataTableOutput("obs"))
我不熟悉CSS,有人可以给我一些关于如何在R函数内编辑CSS的建议吗?
答案 0 :(得分:8)
另一种选择是修改CSS。用这一行
tags$head(tags$style("tfoot {display: table-header-group;}"))
你把它放到你的ui.R文件中就像这样
,tabPanel("MeSH" ,tags$head(tags$style("tfoot {display: table-header-group;}"))
,fluidRow( ...
答案 1 :(得分:3)
这个:How to place DataTables column filter on top:可以帮助您修改CSS以使过滤器位于顶部。
您可以在此处查看:https://github.com/rstudio/shiny-examples/blob/master/012-datatables/server.R:了解如何使用renderDataTable
选项,您应该能够看到这些选项的设置方式与options list之间的相关性jQuery DataTables。
答案 2 :(得分:0)
我对css知之甚少,而且我更喜欢从核心脚本中尽可能多地做到这一点,我不需要担心以后在这里或那里更改化妆品。所以我使用以下方法设置" filter =' top'"在服务器上调用renderDataTable()时。根本不需要CSS。
mainPanel("Data",
dataTableOutput("datatbl"))
server.R
# create data table output
output$datatbl <- DT::renderDataTable(
#data
dt2(), rownames = FALSE,
# column filter on the top
filter = 'top', server = TRUE,
# autoWidth
options = list(autoWidth = TRUE))
请注意,我只使用renderDataTable()来调用函数,在函数中使用参数我们无法将其写为{}中的编程代码,我猜。让我知道它是否适合你。