web-dev-qa-db-fra.com

R Shiny set Largeur de colonne DataTable

J'essaie de définir la largeur des colonnes dans un DataTable rendu dans Shiny et je ne suis pas en mesure de l'implémenter à l'aide des options aoColumnDefs. Quelqu'un a-t-il déjà essayé cela? Ma table comporte 1 texte suivi de 3 colonnes numériques. Les colonnes numériques doivent être plus étroites et la 1ère colonne (texte) plus large.

output$result <- renderDataTable({
z <- as(dataInput(), "data.frame")
setnames(z, c("Rules", "Support", "Confidence", "StatDep"))
z
}, options = list(aLengthMenu = c(5, 30, 50), iDisplayLength = 5, bSortClasses = TRUE,
              aoColumnDefs = list(sWidth = "50px", aTargets = list(1))))

Merci,

  • Raj.

** Mise à jour ** Cela semble fonctionner, mais il pourrait y avoir d'autres options pour le faire également.

output$result <- renderDataTable({
z <- as(dataInput(), "data.frame")
setnames(z, c("Rules", "Support", "Confidence", "StatDep"))
z
}, options = list(aLengthMenu = c(5, 30, 50), iDisplayLength = 5, bSortClasses = TRUE,
              bAutoWidth = FALSE,
              aoColumn = list(list(sWidth = "150px", sWidth = "30px",
                                       sWidth = "30px", sWidth = "30px"))
                                  ))
38
xbsd

Essaye ça

#OUTPUT - dtdata
output$table <- DT::renderDataTable({
  data.frame(a=c(1,2,3,4,5),b=c("A","B","C","D","E"))
},
options = list(
  autoWidth = TRUE,
  columnDefs = list(list(width = '200px', targets = "_all"))
))

Définit la largeur de toutes les colonnes à 200 pixels.

Pour définir la largeur des colonnes sélectionnées, remplacez targets par un nombre ou un vecteur.

targets = c(1,3)
25
rmf

Au fait, au cas où vous seriez comme moi et que vous n'auriez jamais utilisé DataTables avant la sortie de la version 1.10 - Les exemples ci-dessus m'ont confus au début, car ils utilisent la notation utilisée dans la version 1.9 mais 1.10 introduit une nouvelle notation: http://datatables.net/upgrade/1.10-convert

J'utilise la nouvelle syntaxe, c'est-à-dire,

columnDefs au lieu de aoColumnDefs http://datatables.net/reference/option/columnDefs

largeur au lieu de sWidth http://datatables.net/reference/option/columns.width etc.

14
numbercruncher