我想从我的应用程序中删除"全局搜索"选项,但请保留"列搜索"选项.有任何想法吗?我尝试过不同的参数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)
})
})
Run Code Online (Sandbox Code Playgroud)
ui.R
library("shiny")
library("DT")
shinyUI(fluidPage(
DT::dataTableOutput("tabelka")
))
Run Code Online (Sandbox Code Playgroud)
和图片有助于理解我的问题:
Pew*_*ewi 32
DT选项需要作为列表传递.此外,通过使用sDom初始化变量,可以指定DOM控件的放置位置.标准设置如下所示:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">flrt<"bottom">ip'))
Run Code Online (Sandbox Code Playgroud)
语法有点古怪,但基本上上面说f,l,r和t选项将放在顶部div中,底部div中有i和p选项.有关更详细的说明,请参阅http://legacy.datatables.net/usage/options上的文档.
无论如何,"f"是"过滤输入"选项(即搜索选项),通过将"f"移动到另一个div或省略它,我们可以四处移动或禁用搜索栏.您的问题的解决方案可能如下所示:
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(sDom = '<"top">lrt<"bottom">ip'))
Run Code Online (Sandbox Code Playgroud)
Bry*_*yan 27
对于仍在寻找的其他人来说,语法稍微简单一些:
datatable(head(iris), options = list(dom = 't'), filter = list(position = "top"))
Run Code Online (Sandbox Code Playgroud)
其他选择.要仅显示表格,请使用dom ='t':
datatable(head(iris), options = list(dom = 't'))
Run Code Online (Sandbox Code Playgroud)
要显示表格和过滤器(搜索框),默认设置为:
datatable(head(iris), options = list(dom = 'ft'))
Run Code Online (Sandbox Code Playgroud)
资源:
https://rstudio.github.io/DT/options.html
小智 9
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(searching = FALSE))
Run Code Online (Sandbox Code Playgroud)
您必须根据 的dom选项采取行动DT::datatable。以下对我来说很好用:
datatable(iris, filter="top", selection="multiple", escape=FALSE, options = list(dom = 'ltipr'))
Run Code Online (Sandbox Code Playgroud)
默认情况下DT::datatablehas dom = 'lftipr',只需删除'f'用于过滤器(“搜索”按钮)的 。
在dom此处了解更多信息:https :
//datatables.net/reference/option/dom