我想使用预设的过滤器呈现数据表,以便用户可以更改过滤器。而且我想避免使用额外的UI,例如selectInput等。
最低工作示例: 在以下示例中,我希望在“种类”列上设置一个预设过滤器,例如“ virginica”。
library(shiny)
library(DT)
ui <- fluidPage(
titlePanel("Edgar Anderson's Iris Data"),
DT::dataTableOutput('dt')
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$dt <- renderDataTable({
datatable(
iris,
filter='top',
options=list(dom='lritp')
)
})
}
shinyApp(ui = ui, server = server)
我本以为使用columnDefs
是可能的,但是a,我无法确定应该怎样做。
答案 0 :(得分:1)
以下内容将帮助您入门:
library(shiny)
library(DT)
ui <- fluidPage(
titlePanel("Edgar Anderson's Iris Data"),
DT::dataTableOutput('dt')
)
# Define server logic required to draw a histogram
server <- function(input, output) {
output$dt <- renderDataTable({
datatable(
iris,
filter='top',
options=list(dom='lritp',
searchCols = list(NULL, NULL, NULL, NULL, NULL, list(search = '["virginica"]')))
)
})
}
shinyApp(ui = ui, server = server)
答案 1 :(得分:0)
我发现一个替代解决方案,不是使用@ismirsehregal那样优雅,而是使用代理。这需要为每个表定义一个额外的对象,并将它们添加到反应流或观察者中。
ValidationError: "'2019-04-15T14:38:04.000000Z' is not of type 'object'