I am trying to add colsum to the datatable footer
I did this for 1 column with https://github.com/rstudio/DT/issues/39
sketch <- htmltools::withTags(table(
tableHeader(cars),
tableFooter(cars)
))
datatable(cars,container = sketch, rownames = F,
options = list(
footerCallback = JS(
"function( tfoot, data, start, end, display ) {",
"var api = this.api();",
"$( api.column(1).footer() ).html(",
"api.column(1 ).data().reduce( function ( a, b ) {",
"return a + b;",
"} )",
");",
"}")
)
)
I am trying to do this for
- all columns
- all num columns (or all but char id are simpler)
edit: solution :)
dt_test <- structure(list(`pathologie principale` = c("Effet toxique des métaux",
"Autres résultats anormaux des examens chimiques du sang", "Néphrite tubulo-interstitielle chronique",
"Atteintes tubulo-interstitielles et tubulaires dues à des médicaments et des métaux lourds",
"Autres maladies pulmonaires obstructives chroniques", "Autres résultats anormaux de l'examen des urines"
), Fort = c(12L, 4L, 3L, 2L, 2L, 2L), Moyen = c(2L, 0L, 0L, 0L, 1L, 1L), Faible = c(4L, 0L, 0L, 0L, 4L, 0L)),
.Names = c("pathologie principale", "Fort", "Moyen", "Faible"), class = c("data.table", "data.frame"
), row.names = c(NA, -6L))
sketch <- htmltools::withTags(table(
tableHeader(dt_test),
tableFooter(sapply(dt_test, function(x) ifelse( (is.numeric(x)) ,sum(x) ,"total" ))
)))
datatable(dt_test,
container = sketch,
rownames = F
)