在闪亮的应用程序中使用 renderDT() 时,删除 DT::datatable 的 header 会导致 'no matching records found'
Deleting DT::datatable's header results in 'no matching records found' when using renderDT() in a shiny app
尝试从 DT::datatable 中删除 headers 会导致 'No matching records found'
在 renderDT()
中使用。为什么会这样?我该如何解决?
library(shiny)
library(shinydashboard)
library(DT)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
),
dashboardBody(
DT::dataTableOutput("t")
)
)
server <- function(input, output) {
output$t<-renderDT(datatable(head(iris),colnames = ""))
}
shinyApp(ui, server)
此问题的简单解决方案是将 renderDT()
中的 server
参数设置为 FALSE
。然而,这个论点的描述说:
if FALSE, then the entire data frame is sent to the browser at once. Highly recommended for medium to large data frames, which can cause browsers to slow down or crash.
如果这对您来说不是问题,请尝试以下操作:
library(DT)
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
),
dashboardBody(
DT::dataTableOutput("t")
)
)
debugonce(renderDT)
server <- function(input, output) {
output$t <- renderDT(datatable(head(iris),colnames = ""), server = FALSE)
}
shinyApp(ui, server)
尝试从 DT::datatable 中删除 headers 会导致 'No matching records found'
在 renderDT()
中使用。为什么会这样?我该如何解决?
library(shiny)
library(shinydashboard)
library(DT)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
),
dashboardBody(
DT::dataTableOutput("t")
)
)
server <- function(input, output) {
output$t<-renderDT(datatable(head(iris),colnames = ""))
}
shinyApp(ui, server)
此问题的简单解决方案是将 renderDT()
中的 server
参数设置为 FALSE
。然而,这个论点的描述说:
if FALSE, then the entire data frame is sent to the browser at once. Highly recommended for medium to large data frames, which can cause browsers to slow down or crash.
如果这对您来说不是问题,请尝试以下操作:
library(DT)
library(shiny)
library(shinydashboard)
ui <- dashboardPage(
dashboardHeader(title = "Dynamic sidebar"),
dashboardSidebar(
),
dashboardBody(
DT::dataTableOutput("t")
)
)
debugonce(renderDT)
server <- function(input, output) {
output$t <- renderDT(datatable(head(iris),colnames = ""), server = FALSE)
}
shinyApp(ui, server)