У меня есть DT, в котором я добавляю другой столбец, содержащий радиокнопки, используя код ниже.
library(shiny)
library(DT)
library(data.table)
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
tags$span("Dummy")
),
mainPanel(
DT::dataTableOutput("TableWithRadio"))
)
)
server <- function(input, output) {
output$TableWithRadio <- DT::renderDataTable({
dt <- data.table(A = rnorm(1:10), B = rnorm(1:10))
data.table(dt, Select = shinyInputModelingDB(radioButtons, nrow(dt), "radio_"))
}, server = FALSE, escape = FALSE, rownames = F,
options = list(paging = FALSE, searching = F, ordering = F,
preDrawCallback = JS('function() {
Shiny.unbindAll(this.api().table().node()); }'),
drawCallback = JS('function() {
Shiny.bindAll(this.api().table().node()); } ')
))
shinyInputModelingDB = function(FUN, len, id, ...) {
inputs = character(len)
for (i in seq_len(len)) {
inputs[i] = as.character(FUN(paste0(id, i), choices = "", label = "",
selected = F, ...))
}
return(inputs)
}
}
# Run the application
shinyApp(ui = ui, server = server)
Проблема в том, что добавленные мной радиокнопки не относятся к той же группе, из-за которой пользователь будетбыть в состоянии выбрать несколько радиокнопок (присутствующих в разных строках)
Я бы хотел DT, в котором пользователь может выбрать только одну радиокнопку из всей таблицы в рядах.
Любые идеи, как я могуидти вокруг достижения того же?