2017-05-24 9 views
1

2つのアクションボタンSelect AllDeselect Allが作成されました。何らかの理由でDeselect Allが動作しますが、Select Allではありません。「すべて選択」アクションボタンが機能しません

なぜですか? Deselect Allボタンは、期待どおりにすべての行のハイライトを解除します。ただし、Select Allボタンは何もしません。

は誰も助けることができる(TEMPタブに示されているように)

input$selectAllinput$deselectAll

が正しく更新されますか?ここに私のコードです。ありがとう!

DATASET:

colA <- c('A','B','C','D','E') 
colB <- c(1,2,3,4,5) 
rawdata <- as.data.frame(cbind(colA,colB)) 
View(rawdata) 

server.R

function(input, output, session) { 

    # Update summaryTable When users click 'Select All' 
    summaryTable <- eventReactive (input$selectAll,{ 
     print("SelectAll") 
     DT::datatable(rawdata, selection = list(target = 'row', selected = c(1:ncol(rawdata())))) 
    }) 

    # Update summaryTable When users click 'Deselect All' 
    summaryTable <- eventReactive (input$deselectAll,{ 
     print("deselectAll") 
     DT::datatable(rawdata, selection = list(target = 'row', selected = c(0))) 
    }) 


    # Default SummaryTable 
    output$inputVars <- DT::renderDataTable({ 

     if (input$selectAll==0 & input$deselectAll==0) { 
      print("Default") 
      DT::datatable(rawdata, options = list(paging = FALSE, searching = FALSE)) 
     } else { 
      summaryTable() 
     } 
    }) 

    output$temp <- renderPrint({ 
    print(input$selectAll) 
    print(input$deselectAll) 
    }) 

} 

ui.R

fluidPage(

    mainPanel(
     tabsetPanel(id = "allResults", 
     tabPanel(value='inputVars',title='Variable Selection', 
        verticalLayout(
         DT::dataTableOutput('inputVars'), 
         br(), 
         fluidRow(align="bottom", 
          column(2, actionButton("selectAll" , strong("Select All"))), 
          column(3, actionButton("deselectAll", strong("Deselect All"))) 
        ) 

       ) 
       ), 
     tabPanel(value='temp',title="TEMP", verbatimTextOutput("temp")) 
    ) 
) 

) 
+0

Uは、列または行を選択したいと適切であるとnrowncolを変更したことに注意してください? –

答えて

0

はこれが何をしたいですか?私はSelecteAll行

library(shiny) 
colA <- c('A','B','C','D','E') 
colB <- c(1,2,3,4,5) 
rawdata <- as.data.frame(cbind(colA,colB)) 

ui <- fluidPage(
    mainPanel(
    tabsetPanel(id = "allResults", 
       tabPanel(value='inputVars',title='Variable Selection', 
         verticalLayout(
          DT::dataTableOutput('inputVars'), 
          br(), 
          fluidRow(align="bottom", 
            column(2, actionButton("selectAll" , strong("Select All"))), 
            column(3, actionButton("deselectAll", strong("Deselect All"))) 
          ) 
         ) 
       ), 
       tabPanel(value='temp',title="TEMP", verbatimTextOutput("temp")) 
    ) 
) 
) 

server <- function(input, output, session) { 

    var <- reactiveValues() 
    observeEvent(input$selectAll,{ 
    print("SelectAll") 
    var$selected <- 1:nrow(rawdata) 
    }) 

    observeEvent(input$deselectAll,{ 
    print("deselectAll") 
    var$selected <- 0 
    }) 

    # Default SummaryTable 
    output$inputVars <- DT::renderDataTable({ 
    if (input$selectAll==0 & input$deselectAll==0) { 
     print("Default") 
     DT::datatable(rawdata, options = list(paging = FALSE, searching = FALSE)) 
    } 
    else { 
     DT::datatable(rawdata, selection = list(target = 'row', selected = var$selected)) 
    } 
    }) 
} 

shinyApp(ui = ui, server = server) 

enter image description here

関連する問題