library - render table shiny
R Shiny set DataTable width width (2)
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"))
))
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 sWidth http://datatables.net/reference/option/columns.width etc.
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 los targets
a un número o vector.
targets = c(1,3)