我有一个小rshiny应用程序,在其中我可以选择行在datatable和获得值从第一列。
但是如何快速删除选中的行和值,而不用再次单击该行呢?
另外,如果你知道在这段代码中有什么可以改进的地方,那么就写,我刚开始用R编码
# Define UI
ui <- fluidPage(
dataTableOutput('main_information'),
fluidRow(
column(8,verbatimTextOutput('selected_rows', placeholder = TRUE)),
fluidRow(
column(4,actionButton("reset", "RESET"))
)
)
)
# Define server function
server <- function(input, output,session) {
getScoreTable<-reactive({
db <- dbConnect(SQLite(), "path")
data <- dbGetQuery(
conn = db,
statement =
'...'
)
})
output$main_information <- renderDataTable(
getScoreTable(),
options = list(
pageLength = 5,
lengthMenu = list(c(5,10, 25, 50, 100),
c('5', '10', '25','50', '100'))
)
)
s<-reactiveValues(data= NULL)
output$selected_rows = renderPrint({
s = input$main_information_rows_selected
if (length(s)) {
cat('These values were selected:\n\n')
cat(getScoreTable()[s,1], sep = '\n')
}else{
cat('No value has been selected')
}
})
}
# Create Shiny object
shinyApp(ui = ui, server = server)
1条答案
按热度按时间4ioopgfo1#
您可以使用自定义操作按钮:
这个例子运行良好。如果你在Shiny中有问题,请提供最少的可重复代码,不要使用SQL。