Доброе утро и Счастливая Пятница!Моя проблема:
a) Пример для извлечения содержимого ячейки с помощью mtcars не работает в моем приложении, потому что когда вы щелкаете ячейку, она дает вам значение слева.б) Я не могу отобразить имя столбца ячейки, по которой вы щелкнули.
Я перевожу их в «сводку».Пожалуйста, нажмите на строку 1 столбца drat, а затем на строку 1 столбца wt.Вы увидите, о чем я говорю.
Только одно: мое настоящее приложение похоже на школьное расписание, где в первой колонке указано Время.Мне не нужно извлекать время, потому что люди будут видеть время, но не будут нажимать на него.Люди будут нажимать на «предметы» под названиями MF.Вот почему я подумал о добавлении 1 к входу $ 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)