Column alignment in DT datatable

danas.zuokas picture danas.zuokas · Mar 2, 2016 · Viewed 26.8k times · Source

In my shiny app I am using datatable function from DT library to construct a table and want to align columns on center. I can use formatStyle('column', textAlign = 'center') but it affects only column body and not the header.

Answer

G. Cocca picture G. Cocca · Mar 2, 2016

We have to set columnDefs in the argument option of the function datatable.

See example below:

library(DT)

datatable(head(iris),
          rownames = FALSE,
          options = list(
            columnDefs = list(list(className = 'dt-center', targets = 0:4))
            )
          )

We have to set the target. In the example all the 5 columns are aligned to "center" (targets = 0:4).

Finally, note that column numbers start from 0, not from 1.

Note: we can use targets="_all" to apply to all columns regardless of number of columns.