web-dev-qa-db-fra.com

Masquer certaines colonnes dans un tableau de données réactif à l'aide du package DT

J'essaie de créer un tableau de données réactif pour mon application brillante en utilisant le package DT. Je veux masquer certaines colonnes à l'avance. Par exemple:

library("shiny")
library("DT")
shinyApp(
  ui = fluidPage(DT::dataTableOutput('tbl')),
  server = function(input, output) {
    output$tbl = DT::renderDataTable(
      iris,extensions="Responsive"
    )
  }
)

Cette sortie me donne 5 colonnes. Il masque uniquement les colonnes lorsque je rétrécis la page. Mais, je veux cacher les 3 dernières colonnes à l'avance et je veux juste voir les deux premières colonnes à chaque fois. Y-a-t-il un moyen de faire ça?

Mise à jour:

Exemple de sortie

enter image description here

18
skorkmaz

Vous pouvez masquer des colonnes dans votre tableau à l'aide des options ou des extensions DT.

Si vous voulez qu'ils soient cachés à l'avance mais que vous avez un bouton pour les rendre à nouveau visibles, l'extension ColVis devrait bien fonctionner pour vous: link

Si vous voulez juste qu'ils restent cachés, ajoutez l'option suivante (je ne me souviens pas où j'ai vu sa documentation en ce moment ..)

options=list(columnDefs = list(list(visible=FALSE, targets=columns2hide)))
20
user5029763