46

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.

danas.zuokas
  • 4,116
  • 4
  • 25
  • 39

1 Answers1

96

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.

zx8754
  • 42,109
  • 10
  • 93
  • 154
G. Cocca
  • 1,866
  • 10
  • 12