我正在尝试使用 DT 函数从 RShiny 上的反应函数显示表格,但我似乎无法使其工作。我能够使用普通的渲染表显示表格,但是在使用 DT 函数时,我不断收到错误“参数长度为零”。
下面的代码正在运行,并在我的仪表板上显示结果。ticketlivedata() 基本上是从我们公司的数据库中获取数据。由于机密性,我无法显示该功能的内容。
filtr_data <- reactive({
fdt <- ticketlivedata()
if( input$ticketsearch != ""){
#Will use this filter when the text box input input$ticketsearch is not blank
fdt <- fdt %>% filter( request_id %in% idlist)
else {
#Will use this filter when the text box input input$ticketsearch is blank
fdt <- fdt %>%
filter( request_status %in% input$rstat ) %>%
filter( criticality %in% input$crits ) %>%
filter( date_required >= input$datereq[1] & date_required <= input$datereq[2] )
}
return(fdt)
})
#Output table
output$table <- renderTable({
req( input$rstat )
data.frame(c(filtr_data() ))
},bordered = TRUE, width = NULL,striped = TRUE,sanitize.text.function = function(x) x)
但是当我用下面的 DT 函数替换渲染表时,它会显示错误。我需要使用 DT 功能,因为它是客户要求。
output$table <- DT::renderDataTable(
DT::datatable(filtr_data(),
options = list(pageLength = 10, scrollX = TRUE, scrollY = TRUE), escape = FALSE),server = FALSE
)
请注意,我只放置了我关心的代码部分,因为整个代码本身很长并且可能包含一些机密信息。