2015-09-05 29 views
12

Sto provando a creare una tabella di dati reattiva per la mia applicazione lucida utilizzando il pacchetto DT. Voglio nascondere alcune colonne in anticipo. Ad esempio:Nascondere determinate colonne in una tabella di dati reattiva utilizzando il pacchetto DT

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

Questo output mi dà 5 colonne. Nasconde solo le colonne quando restringo la pagina. Ma, voglio nascondere le ultime 3 colonne in anticipo e voglio solo vedere le prime due colonne ogni volta. C'è un modo per farlo?

Aggiornamento:

uscita Esempio

enter image description here

risposta

11

È possibile nascondere le colonne della tabella utilizzando le opzioni DT o estensioni.

Se si desidera loro di essere nascosti in anticipo, ma hanno un pulsante per rendere di nuovo visibili, l'estensione ColVis dovrebbe funzionare bene per voi: link

Se si desidera solo thme rimanere nascosto, aggiungere la seguente opzione (non riesco a ricordare dove ho visto la sua documentazione in questo momento ..)

options=list(columnDefs = list(list(visible=FALSE, targets=columns2hide))) 
+0

è possibile utilizzare ColVis per nascondere alcune colonne per impostazione predefinita e una volta che l'utente verifica che la casella le visualizzi? –

+0

La terza sezione sul link pubblicato mescolato con il codice sopra dovrebbe fare il trucco. – user5029763

+2

Nota che quando inserisci 'colmuns2hide' devi inserire il numero della colonna. Non sono sicuro di poter inserire il nome della colonna. –