2017-08-29 4 views
0

Existe-t-il un moyen de masquer les noms de colonne d'un formatable? Je pensais àMasquer les noms de colonnes dans une table brillante

  • changer un attribut dans les options formatables. N'a pas trouvé quelque chose à ce sujet dans la documentation ou SO.
  • changer la couleur de police en blanc pour l'en-tête. Je suppose que cela peut être une tâche facile pour un expert CSS. Je n'ai pas trouvé les bonnes sources pour le faire en tant que profane.

Peut-être qu'il y a une autre option à laquelle je n'ai pas pensé? Merci d'avance pour votre aide.

Exemple de code ci-dessous. L'en-tête de la table de droite devrait être caché.

library(shiny) 
library(formattable) 

df <- data.frame(A = LETTERS[1:10], B = 1:10) 

server <- function(input, output) { 
    output$table1 <- renderFormattable({ 
    formattable(df) 
    }) 

    output$table2 <- renderFormattable({ 
    formattable(df) 
    }) 
} 

ui <- fluidPage(
    fluidRow(
    column(6, 
     h6("Table with header"), 
     formattableOutput("table1") 
    ), 
    column(6, 
     h6("Table without header"), 
     formattableOutput("table2") 
    ) 
) 
) 

shinyApp(ui = ui, server = server) 

supplémentaires: S'il y a un moyen de définir les bordures de cellules comme dans Excel pour la table de droite, des solutions à ce problème seraient également appréciées.

+0

Le paquet 'DT' pourrait être utile https://rstudio.github.io/DT/ – user5029763

Répondre

0

ne se cache pas exactement, mais voici ma suggestion simple:

output$table2 <- renderFormattable({ 
    names(df) <- c("_", ".") 
    formattable(df) 
}) 

Toute aide à votre problème?

+0

Non, je dois cacher les noms des colonnes ou changer la couleur de la police. Dans le problème d'origine, j'ai besoin d'eux pour plus de mise en forme dans la fonction 'formatable'. Les noms des colonnes changent génériquement chaque semaine et il y a beaucoup plus de colonnes. –

1

Ajouter à votre code:

tags$head(tags$style(type = "text/css", "#table2 th {display:none;}")) 

Notez que vous devrez définir manuellement les largeurs de vos colonnes car ils vont s'effondrer à la plus petite largeur sans texte débordant d'une nouvelle ligne.

Ce que j'ai fait ici est utilisé CSS pour exploiter les propriétés de table2. J'accède aux propriétés d'en-tête en déclarant th après avoir indiqué l'ID de la table. Tout css supplémentaire pour l'en-tête peut aller après le ;.

+0

Vous avez également mentionné la modification de la couleur de l'en-tête. Vous pouvez le faire de la même manière en changeant 'display: none' à' color: # ffffff'. – sehock

+0

Vous pouvez également définir la taille de la police à 0px, en remplaçant 'display: none' par' font-size: 0px'. – sehock