Use colDef() to customize the columns in a table.

colDef(
  name = NULL,
  aggregate = NULL,
  sortable = NULL,
  resizable = NULL,
  filterable = NULL,
  show = NULL,
  defaultSortOrder = NULL,
  sortNALast = FALSE,
  format = NULL,
  cell = NULL,
  grouped = NULL,
  aggregated = NULL,
  header = NULL,
  footer = NULL,
  details = NULL,
  html = FALSE,
  na = "",
  minWidth = NULL,
  maxWidth = NULL,
  width = NULL,
  align = NULL,
  vAlign = NULL,
  headerVAlign = NULL,
  sticky = NULL,
  class = NULL,
  style = NULL,
  headerClass = NULL,
  headerStyle = NULL,
  footerClass = NULL,
  footerStyle = NULL
)

Arguments

name

Column header name.

aggregate

Aggregate function to use when rows are grouped. The name of a built-in aggregate function or a custom JS() aggregate function. Built-in aggregate functions are: "mean", "sum", "max", "min", "median", "count", "unique", and "frequency".

To enable row grouping, use the groupBy argument in reactable().

sortable

Enable sorting? Overrides the table option.

resizable

Enable column resizing? Overrides the table option.

filterable

Enable column filtering? Overrides the table option.

show

Show the column? Overrides the table option.

defaultSortOrder

Default sort order. Either "asc" for ascending order or "desc" for descending order. Overrides the table option.

sortNALast

Always sort missing values (NA or NaN) last?

format

Column formatting options. A colFormat() object to format all cells, or a named list of colFormat() objects to format standard cells ("cell") and aggregated cells ("aggregated") separately.

cell

Custom cell renderer. An R function that takes the cell value, row index, and column name as arguments, or a JS() function that takes a cell info object and table state object as arguments.

grouped

Custom grouped cell renderer. A JS() function that takes a cell info object and table state object as arguments.

aggregated

Custom aggregated cell renderer. A JS() function that takes a cell info object and table state object as arguments.

header

Custom header renderer. An R function that takes the header value and column name as arguments, or a JS() function that takes a column info object and table state object as arguments.

footer

Footer content or render function. Render functions can be an R function that takes two arguments, the column values and column name, or a JS() function that takes a column info object and table state object as arguments.

details

Additional content to display when expanding a row. An R function that takes a row index argument, or a JS() function that takes a row info object and table state object as arguments. Cannot be used on a groupBy column.

html

Render content as HTML? Raw HTML strings are escaped by default.

na

String to display for missing values (i.e. NA or NaN). By default, missing values are displayed as blank cells.

minWidth

Minimum width of the column in pixels. Defaults to 100.

maxWidth

Maximum width of the column in pixels.

width

Fixed width of the column in pixels. Overrides minWidth and maxWidth.

align

Horizontal alignment of content in the column. One of "left", "right", "center". By default, all numbers are right-aligned, while all other content is left-aligned.

vAlign

Vertical alignment of content in data cells. One of "top" (the default), "center", "bottom".

headerVAlign

Vertical alignment of content in header cells. One of "top" (the default), "center", "bottom".

sticky

Make the column sticky when scrolling horizontally? Either "left" or "right" to make the column stick to the left or right side.

If a sticky column is in a column group, all columns in the group will automatically be made sticky, including the column group header.

class

Additional CSS classes to apply to cells. Can also be an R function that takes the cell value, row index, and column name as arguments, or a JS() function that takes a row info object, column info object, and table state object as arguments.

Note that R functions cannot apply classes to aggregated cells.

style

Inline styles to apply to cells. A named list or character string. Can also be an R function that takes the cell value and row index as arguments, or a JS() function that takes a row info object, column info object, and table state object as arguments.

Note that R functions cannot apply styles to aggregated cells. If style is a named list, property names should be camelCased.

headerClass

Additional CSS classes to apply to the header.

headerStyle

Inline styles to apply to the header. A named list or character string.

Note that if headerStyle is a named list, property names should be camelCased.

footerClass

Additional CSS classes to apply to the footer.

footerStyle

Inline styles to apply to the footer. A named list or character string.

Note that if footerStyle is a named list, property names should be camelCased.

Value

A column definition object that can be used to customize columns in reactable().

Examples

reactable( iris, columns = list( Sepal.Length = colDef(name = "Sepal Length"), Sepal.Width = colDef(filterable = TRUE), Petal.Length = colDef(show = FALSE), Petal.Width = colDef(defaultSortOrder = "desc") ) )