R Shiny set DataTable column width

Solution 1:

Try this

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

Sets the width of all columns to 200px.

To set width of selected columns, change targetsto a number or vector.

targets = c(1,3)

Solution 2:

By the way, in case you're like me and never used DataTables before version 1.10 came out -- The examples above confused me at first, because they use the notation that was used in version 1.9 but 1.10 introduces new notation: http://datatables.net/upgrade/1.10-convert

I've been using the new syntax, i.e.,

columnDefs instead of aoColumnDefs http://datatables.net/reference/option/columnDefs

width instead of sWidth http://datatables.net/reference/option/columns.width etc.