更新DT的状态并使用R中的状态从DT中提取数据
更新DT的状态并使用R中的状态从DT中提取数据,r,shiny,state,dt,R,Shiny,State,Dt,DTpackage提供了使用过滤器、搜索和所有内容保存表状态的功能。我可以在文本输出中看到该状态的内容(input$TableId\u state)。但我不能以任何适当的方式使用它。我想做两件事: 随时保存DT的状态,并使用操作按钮将其应用于同一DT。(我希望有完整的数据,但在搜索框中有过滤器和文本) 将数据从输出表提取到服务器函数内的另一个数据表中(不作为输出表) 我能做两件事。通过使用输入$tableId\u rows\u all输入项目符号。但我需要能够与国家一起做到这一点。 在我看来,如
DT
package提供了使用过滤器、搜索和所有内容保存表状态的功能。我可以在文本输出中看到该状态的内容(input$TableId\u state
)。但我不能以任何适当的方式使用它。我想做两件事:
输入$tableId\u rows\u all
输入项目符号。但我需要能够与国家一起做到这一点。在我看来,如果这些都不可能的话,状态函数就是无用的,只是为了炫耀 这是我要做的试验2。要点:
library(shiny)
library(DT)
data <- iris
ui <- fluidPage(
actionButton(inputId = "action", label = "Apply",icon=
icon("refresh",lib="font-awesome"),style="background-
color:#FBAF16",width =validateCssUnit(385)),
fluidRow(DT::dataTableOutput(outputId =
"Table")),hr(),fluidRow(DT::dataTableOutput(outputId = "FilteredTable"))
)
server <- function(input,output,session){
output$Table<-DT::renderDataTable(expr = {
DT::datatable(data,option = list(stateSave =
TRUE),filter=list(position="top",clear=TRUE))
})
filtereddata <- eventReactive(input$action,{
return(DT::datatable(data
,options = list(state=input$Table_state)
))
})
output$FilteredTable<- DT::renderDataTable(expr = {
return(filtereddata())
})
}
runApp(list(ui = ui, server = server),host="127.0.0.2",port=5013, launch.browser = TRUE)
库(闪亮)
图书馆(DT)
数据