Dies ist eine glänzende Anwendung, die zeigt, wie es geht:
ui.R
library(shiny)
library(shinydashboard)
library(DT)
header <- dashboardHeader()
sidebar <- dashboardSidebar(
selectInput("rowNumber", "Select row number", choices = 1:NROW(mtcars)),
selectInput("colNumber", "Select column number", choices = 1:NCOL(mtcars))
)
body <- dashboardBody(
DT::dataTableOutput("mtcarsTable")
)
shinyUI(fluidPage(
# Application title
titlePanel("Data Table"),
dashboardPage(header, sidebar, body)
))
server.R
library(shiny)
library(shinydashboard)
# Define server logic required to draw a histogram
shinyServer(function(input, output) {
output$mtcarsTable <- renderDataTable({
a <- 200
DT::datatable(datasets::mtcars,
selection = list(target = "cell",
selected = matrix(c(as.numeric(input$rowNumber),
as.numeric(input$colNumber)),
nrow = 1))
)
})
})
Der Nachteil dieser Lösung ist, dass, wenn der Benutzer Klickt auf die ausgewählte Zelle, die ausgewählt wurde. Eine mögliche Alternative wäre, die Hintergrundfarbe der Zelle zu ändern, aber dies erfordert ein Stück Javascript im Zeilenumbruch. Lassen Sie es mich wissen, wenn Sie Interesse an einer alternativen Lösung haben.