web-dev-qa-db-fra.com

Supprimer l'option «recherche» mais laisser l'option «colonnes de recherche»

Je voudrais supprimer l'option "recherche globale" de mon application, mais laisser l'option "recherche de colonne". Des idées? J'ai essayé différents paramètres comme searching=FALSE, filtering='none'... Rien de tout cela ne fonctionne correctement.

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

))

Et une photo qui aide à comprendre mon problème:

enter image description here

26
Marta

Les options DT doivent être passées sous forme de liste. De plus, en utilisant la variable d'initialisation sDom, il est possible de spécifier où les contrôles DOM sont placés. La configuration standard ressemble à ceci:

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

La syntaxe est un peu excentrique, mais fondamentalement ce qui précède dit que les options f, l, r et t doivent être placées dans le div supérieur avec les options i et p dans le div inférieur. Veuillez vous référer aux documents à http://legacy.datatables.net/usage/options pour une explication plus approfondie.

Quoi qu'il en soit, "f" est l'option "Entrée de filtrage" (c'est-à-dire l'option de recherche) et en déplaçant "f" vers une autre div ou en l'omettant, nous pouvons nous déplacer ou désactiver la barre de recherche. Une solution à votre problème pourrait ressembler à ceci:

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

Syntaxe légèrement plus simple, pour quiconque cherche toujours:

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

Autres options . Pour afficher uniquement le tableau, utilisez dom = 't':

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

Pour afficher le tableau et le filtre (zone de recherche), le paramètre par défaut:

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

La source:

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

26
Bryan
datatable(iris, filter="top", selection="multiple", escape=FALSE,
options = list(searching = FALSE))
8
s157