早上好,星期五快乐! 我的问题是:
a)使用mtcars提取单元格内容的示例在我的应用程序中不起作用,因为单击单元格时,它会为您提供左侧的值。 b)我无法显示您单击的单元格的列名称。
我将它们渲染到“摘要框”中。请单击列drat的第1行,然后单击列wt的第1行。您会看到我在说什么。
只有一件事:我真正的应用程序就像一个学校时间表,第一列是时间。我不需要提取时间,因为人们会看到时间,但无需单击它。人们将单击名称为M-F的“主题”。这就是为什么我考虑将1添加到input $ ing_table_cells_selected [2]中的原因,因为2是列组件,并且DT从0开始索引。
应用程序位于“英语”标签上。
非常感谢!感谢您提供的任何帮助,因为我已经花了很多时间进行研究,但是效果并不理想。
## libraries
library(shinydashboard)
library(shiny)
library(data.table)
library(dplyr)
library(DT)
ui=dashboardPage(
dashboardHeader(title = "App"),
dashboardSidebar(
sidebarMenu(
menuItem("Español", tabName = "espanol", icon = icon("laptop")),
menuItem("English", tabName = "ingles", icon = icon("print"))
)),
dashboardBody(
tabItems(
tabItem(tabName = "ingles",
h3("Data", style="color:DodgerBlue;text-align:center;font-family:Palatino Linotype;padding:0px;margin-top:0px;"),
fluidRow(
DT::dataTableOutput("ing_table"),
box(title = "Summary of Activities", status = "primary", solidHeader = TRUE,collapsible = TRUE,
DT::dataTableOutput("summary")
)
)))))
## SERVER SIDE ##########
server <- function(input, output) {
## using mtcars set as a example
output$ing_table= DT::renderDataTable(mtcars, options = list(searching = FALSE,bInfo=0,scrollX = TRUE, pageLength = 5), rownames=FALSE,selection = list(target = "cell"), server = FALSE)
# code to extract the cell value and make it reactive to feed output$summary
# I used "cell[2]" to access the column index and add 1, since in DT column index starts at 0 and I need the values starting col 1, not 0
reserved_act= reactive({
cell <- input$ing_table_cells_selected
data=data.frame(Values=mtcars[cell],Column_Names=colnames(mtcars[cell[2]+1]))
data
})
observeEvent(input$ing_table_cells_selected, {
output$summary = renderDataTable(reserved_act(), options = list(searching = FALSE,bInfo=0,scrollX = TRUE, paging=FALSE), rownames=FALSE)
})
}
shinyApp(ui, server)