Search code examples
htmlrdt

How to add row borders and zebra stripes (row striping) to datatables DT?


I would like to know the proper way to add row borders styling and zebra stripes option to datatables created with the package DT in R.

Simple starter example:

library(DT)
datatable(iris)

Simple example with options:

datatable(head(iris, 20), options = list(
  columnDefs = list(list(className = 'dt-center', targets = 4)),
  pageLength = 5,
  lengthMenu = c(5, 10, 15, 20)
))

Solution

  • You can add the stripe and row-border class to the table container:

    library(DT)
    library(htmltools)
    datatable(
      head(iris, 20),
      container = tags$table(
        class="stripe row-border",
        tags$thead(tags$tr(lapply(colnames(iris), tags$th)))
      )
    )
    

    This will create the table container with both classes and the styling feature will be applied. You can add any other styling from the link you posted.