2016-08-09 12 views

Antwort

0

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.

Verwandte Themen