私はあなたを正しく理解していれば、これを行う方法になる可能性があります。
ui.R
library(shiny)
library(DT)
shinyUI(fluidPage(
titlePanel("Column Selection"),
fluidRow(
actionButton("selectCols", "Select all columns"),
DT::dataTableOutput('tbl'),
verbatimTextOutput("selectedColums")
)
))
server.R
library(shiny)
library(DT)
shinyServer(function(input, output) {
irisTable <- reactive({
if (input$selectCols > 0) {
datatable(iris, selection = list(target = 'column', selected = c(0,1,2,3,4,5)))
} else {
datatable(iris, selection = list(target = 'column'))
}
})
output$tbl = DT::renderDataTable(
irisTable())
output$selectedColums <- renderPrint({
input$tbl_columns_selected
})
})
感謝。私はこれがうまくいくと思います。しかし、私はまた、選択した列をハイライトしたいと思います。 Javascriptでいくつかの余分な作業が必要になるかもしれません。そのようにして、選択した列をクリックして選択を解除することもできます。 – athlonshi
ボタンをクリックすると、すべての列が選択され、グレー表示されます。すべての列が選択されると、いずれかの列をクリックするとその列が選択解除されて白くなります。あなたは別の行動を望んでいた? –
さて、私は今理解していると思います。はい、これは私が欲しいものです。再度、感謝します。 – athlonshi