Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Remove 'search' option but leave 'search columns' option

Tags:

r

dt

shiny

I would like to remove 'global search' option from my application, but leave 'column search' option. Any ideas? I've tried different paramethers like searching=FALSE, filtering='none'... None of this works properly.

My code:

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")  )) 

And picture which helps to understand my problem:

enter image description here

like image 890
Marta Avatar asked Feb 25 '16 10:02

Marta


2 Answers

Slightly simpler syntax, for anyone else still looking:

datatable(head(iris), options = list(dom = 't'), filter = list(position = "top")) 

Other options. To display table only, use dom = 't':

datatable(head(iris), options = list(dom = 't')) 

To display table and filter (search box), the default setting:

datatable(head(iris), options = list(dom = 'ft')) 

Source:

https://rstudio.github.io/DT/options.html

like image 142
captinbo Avatar answered Sep 22 '22 16:09

captinbo


DT options needs to be passed as a list. Further, by using the sDom initialisation variable it is possible to specify where in the DOM controls are placed. The standard setup looks like this:

    datatable(iris, filter="top", selection="multiple", escape=FALSE,        options = list(sDom  = '<"top">flrt<"bottom">ip')) 

The syntax is a bit quirky, but basically the above says that f, l, r and t options are to be placed in the top div with the i and p options in the bottom div. Please refer to the docs at http://legacy.datatables.net/usage/options for a more thorough explanation.

Anyways, "f" is the "Filtering input" option (i.e. the search option) and by moving "f" to another div or omitting it we may move around or disable the search bar. A solution to your problem might look like this:

    datatable(iris, filter="top", selection="multiple", escape=FALSE,        options = list(sDom  = '<"top">lrt<"bottom">ip')) 
like image 35
Pewi Avatar answered Sep 19 '22 16:09

Pewi