Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

234
Vistas
brillante suma de columna javascript en varias páginas de tabla de datos

Esta es una pregunta de seguimiento a mi pregunta anterior que se puede encontrar aquí .

En este fragmento de código, calculo la suma de la columna de una tabla de datos brillante usando Javascript, ya que quiero que se muestre directamente debajo de la tabla de datos.

 library(shiny) library(DT) ui <- shinyUI(fluidPage( h1("Testing TableTools"), mainPanel(dataTableOutput("display")) )) Names <- c("", names(mtcars)) FooterNames <- c(rep("", 5), Names[6], rep("", 6)) server <- function(input, output, session) { sketch <- htmltools::withTags(table( tableHeader(Names), tableFooter(FooterNames) )) opts <- list( footerCallback = JS( "function(tfoot, data, start, end, display) { var api = this.api(), data; var sum1 = api.column(5).data().reduce(function(a, b) { return a + b; }); sum1 = Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(sum1) $(api.column(5).footer()).html('SubTotal: ' + sum1) }" ) ) output$display <- DT::renderDataTable(container = sketch, extensions = "Buttons", options = opts, { mtcars }) } shinyApp(ui = ui, server = server)

mesa original

Sin embargo, ordenar la tabla cambiará la suma de la columna, ya que la suma es solo la suma de la columna que se muestra. Quiero cambiarlo para que muestre la suma total en el caso de varias "páginas" de la tabla y si solo hay una página, debería calcularla como lo hace ahora.

tabla ordenada

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

server = FALSE en renderDT y column(5, {search: 'applied'}) en JavaScript:

 library(shiny) library(DT) ui <- shinyUI(fluidPage( h1("Testing TableTools"), mainPanel(DTOutput("display")) )) Names <- c("", names(mtcars)) FooterNames <- c(rep("", 5), Names[6], rep("", 6)) server <- function(input, output, session) { sketch <- htmltools::withTags(table( tableHeader(Names), tableFooter(FooterNames) )) opts <- list( footerCallback = JS( "function(tfoot, data, start, end, display){ var api = this.api(), data; var sum1 = api.column(5, {search: 'applied'}).data().reduce(function(a, b) { return a + b; }); sum1 = Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(sum1); $(api.column(5).footer()).html('SubTotal: ' + sum1); }" ) ) output$display <- renderDT({ datatable( mtcars, container = sketch, extensions = "Buttons", options = opts ) }, server = FALSE) } shinyApp(ui = ui, server = server)
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda