How do I suppress row names when using DT::renderDataTable in R shiny?

RShinyDt

R Problem Overview


As per the explanation in section 2.3 here, I can remove rownames for a datatable by setting rownames = FALSE

enter image description here

How do I suppress row names when using DT::renderDataTable in R shiny? The following doesn't work because if you look at the dataTables options reference there is no rownames option

  output$subsettingTable <- DT::renderDataTable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE, rownames= FALSE
    ))

My question is similar to the one here. The answers there are for renderTable and I've tried making the answers there work with DT::renderDataTable with zero success.

R Solutions


Solution 1 - R

Please be very careful to read the help pages of functions to know which argument belongs to which function. In your case, the rownames argument belongs to the datatable() function, but you actually put it inside the options argument, and that is certainly wrong. DT::renderDataTable() accepts either a data object or a table widget as its first argument (again, please read its help page), so either of the following expressions should work:

DT::renderDataTable(datatable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE),
    rownames= FALSE
))

DT::renderDataTable(
    subsetTable(), filter = 'top', server = FALSE, 
    options = list(pageLength = 5, autoWidth = TRUE),
    rownames= FALSE
)

In the latter case, rownames = FALSE is passed to datatable() internally, per documentation of the ... argument of the help page.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionFriksterView Question on Stackoverflow
Solution 1 - RYihui XieView Answer on Stackoverflow