选择DT DataTable的一行时,是否可以隐藏所有其他行 - 然后再次选择行时,这些隐藏的行会再次显示?
调查pageLength选项,可以在运行时由用户操作,它似乎无法通过代理访问:documentation没有提到它。
答案 0 :(得分:0)
我提供以下解决方案。这是表和操作按钮。选择行并单击按钮后,您可以看到一个弹出窗口,其中包含有关所选行的详细信息。
library(shiny)
library(DT)
# 1. UI
ui <- fluidPage(
fluidRow(actionButton("md_data_profile", "Details for selected row")),
fluidRow(dataTableOutput("dt_data"))
)
# 2. Server
server <- function(input, output) {
# 1. Data set
df_data <- reactive({
mtcars
})
# 2. Data table
output$dt_data <- renderDataTable(
datatable(df_data()))
# 3. Details as Popup window
observeEvent(input$md_data_profile, {
# 3.1. Get selected rows
selected_row <- input$dt_data_rows_selected
# 3.2. Process selected row
if(!is.null(selected_row)){
df <- df_data()[selected_row, ]
popup_str <- paste0("Mpg: ", df$mpg)
} else {
popup_str <- "Please, select row to see details"
}
# 3.3. Create model dialog window
showModal(modalDialog(title = "Data profile", HTML(popup_str), easyClose = TRUE))
})
}
# 3. Application
shinyApp(ui = ui, server = server)