Pregunta R Shiny set DataTable width width


Estoy intentando establecer el ancho de las columnas en una DataTable en Shiny y no puedo implementarlo usando las opciones de aoColumnDefs. Alguien ha intentado esto antes ? Mi tabla tiene 1 texto seguido de 3 columnas numéricas. Las columnas numéricas deben ser más estrechas y la primera columna (texto) más ancha.

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

Gracias,

  • Raj.

** Actualización ** Esto parece estar funcionando, pero podría haber otras opciones para hacer esto también.

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

32
2017-08-08 14:06


origen


Respuestas:


Prueba esto

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

Establece el ancho de todas las columnas en 200px.

Para establecer el ancho de las columnas seleccionadas, cambie targetsa un número o vector.

targets = c(1,3)

22
2017-08-04 16:08



Por cierto, en caso de que seas como yo y nunca haya usado DataTables antes de que salga la versión 1.10 - Los ejemplos anteriores me confundieron al principio, porque usan la notación que se usó en la versión 1.9, pero 1.10 introduce una nueva notación: http://datatables.net/upgrade/1.10-convert

He estado usando la nueva sintaxis, es decir,

columnDefs en lugar de aoColumnDefs http://datatables.net/reference/option/columnDefs

ancho en lugar de s ancho http://datatables.net/reference/option/columns.width etc.


11
2018-02-21 23:39