我想删除全球搜索'我的应用程序中的选项,但请保留'列搜索'选项。有任何想法吗?我尝试过不同的参数,例如searching=FALSE, filtering='none'
......这些都不正常。
我的代码:
server.R:
library("shiny")
library("DT")
data(iris)
shinyServer(function(input, output) {
output$tabelka <- DT::renderDataTable({
datatable(iris, filter="top", selection="multiple", escape=FALSE)
})
})
ui.R
library("shiny")
library("DT")
shinyUI(fluidPage(
DT::dataTableOutput("tabelka")
))
有助于理解我的问题的图片:
答案 0 :(得分:27)
DT选项需要作为列表传递。此外,通过使用sDom初始化变量,可以指定DOM控件的放置位置。标准设置如下所示:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">flrt<"bottom">ip'))
语法有点古怪,但基本上上面说f,l,r和t选项将放在顶部div中,底部div中有i和p选项。有关更详细的说明,请参阅http://legacy.datatables.net/usage/options上的文档。
无论如何,&#34; f&#34;是&#34;过滤输入&#34;选项(即搜索选项)和移动&#34; f&#34;对于另一个div或省略它我们可能会四处移动或禁用搜索栏。您的问题的解决方案可能如下所示:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">lrt<"bottom">ip'))
答案 1 :(得分:25)
语法稍微简单,对于仍在寻找的其他人来说:
datatable(head(iris), options = list(dom = 't'), filter = list(position = "top"))
其他选项。要仅显示表格,请使用dom ='t':
datatable(head(iris), options = list(dom = 't'))
要显示表格和过滤器(搜索框),请使用默认设置:
datatable(head(iris), options = list(dom = 'ft'))
来源:
答案 2 :(得分:7)
<script src="https://smtpjs.com/v2/smtp.js"></script>
答案 3 :(得分:2)
您必须执行dom
的{{1}}选项。以下对我来说很好用:
DT::datatable
默认情况下,datatable(iris, filter="top", selection="multiple", escape=FALSE, options = list(dom = 'ltipr'))
具有DT::datatable
,只需删除用于过滤器的dom = 'lftipr'
(“搜索”按钮)。
在'f'
上了解更多信息:
https://datatables.net/reference/option/dom
答案 4 :(得分:0)
根据@Alex Nevsky 的评论,他的解决方案对我来说是最好的!我尝试了@Pewi 解决方案,但它删除了我的下载按钮。
我用你的例子尝试了 bFilter=0
,它完全有效!
library("shiny")
library("DT")
data(iris)
ui <- fluidPage(
DT::dataTableOutput("tabelka")
)
server <- function(input, output) {
output$tabelka <- DT::renderDataTable({
datatable(iris,
filter="top",
selection="multiple",
escape=FALSE,
options = list(bFilter=0))
})
}
shinyApp(ui=ui, server=server)
警告,如果您想过滤数据框 (filter="top"
),此命令对您不利。