R: Table output with the JavaScript library DataTables

renderDataTable {shiny} | R Documentation

## Table output with the JavaScript library DataTables

### Description

Makes a reactive version of the given function that returns a data frame (or matrix), which will be rendered with the DataTables library. Paging, searching, filtering, and sorting can be done on the R side using Shiny as the server infrastructure.

### Usage

    renderDataTable(expr, options = NULL, searchDelay = 500,
      callback = "function(oTable) {}", escape = TRUE,
      env = parent.frame(), quoted = FALSE, outputArgs = list())

### Arguments

`expr` | An expression that returns a data frame or a matrix.
`options` | A list of initialization options to be passed to DataTables, or a function to return such a list.
`searchDelay` | The delay for searching, in milliseconds (to avoid too frequent search requests).
`callback` | A JavaScript function to be applied to the DataTable object. This is useful for DataTables plug-ins, which often require the DataTable instance to be available (http://datatables.net/extensions/).
`escape` | Whether to escape HTML entities in the table: `TRUE` means to escape the whole table, and `FALSE` means not to escape it. Alternatively, you can specify numeric column indices or column names to indicate which columns to escape, e.g. `1:5` (the first 5 columns), `c(1, 3, 4)`, or `c(-1, -3)` (all columns except the first and third), or `c('Species', 'Sepal.Length')`.
`env` | The environment in which to evaluate `expr`.
`quoted` | Is `expr` a quoted expression (with `quote()`)? This is useful if you want to save an expression in a variable.
`outputArgs` | A list of arguments to be passed through to the implicit call to `dataTableOutput` when `renderDataTable` is used in an interactive R Markdown document.

### Details

For the `options` argument, the character elements that have the class `"AsIs"` (usually returned from `I()`) will be evaluated in JavaScript. This is useful when the type of the option value is not supported in JSON, e.g., a JavaScript function, which can be obtained by evaluating a character string. Note this only applies to the root-level elements of the options list, and the `I()` notation does not work for lower-level elements in the list.

### Note

This function only provides the server-side version of DataTables (using R to process the data object on the server side). There is a separate package DT (https://github.com/rstudio/DT) that allows you to create both server-side and client-side DataTables, and supports additional DataTables features. Consider using `DT::renderDataTable()` and `DT::dataTableOutput()` (see http://rstudio.github.io/DT/shiny.html for more information).

### References

http://datatables.net

### Examples

    ## Only run this example in interactive R sessions
    if (interactive()) {
      # pass a callback function to DataTables using I()
      shinyApp(
        ui = fluidPage(
          fluidRow(
            column(12,
              dataTableOutput('table')
            )
          )
        ),
        server = function(input, output) {
          output$table <- renderDataTable(iris,
            options = list(
              pageLength = 5,
              initComplete = I("function(settings, json) {alert('Done.');}")
            )
          )
        }
      )
    }

[Package shiny version 1.2.0 Index]