Shiny R: RowReorder, переупорядочивание всех значений не только первого - PullRequest
0 голосов
/ 29 ноября 2018

У меня просто Shiny app с DT table

library(shiny)
library(DT)

iris2 = head(iris, 30)


server <- function(input, output) {
    output$tb <-DT::renderDataTable(server=FALSE,{
        datatable(
            iris2,
            colnames = c(colnames(iris2)), extensions = 'RowReorder',
            options = list(rowReorder = TRUE))
    })
}


ui <- fluidPage(dataTableOutput('tb', width = '200px', height = '200px'))

shinyApp(ui, server)

Однако, когда я пытаюсь настроить строку таблицы , только первый столбец меняет положение.Вероятно, это связано с конфигурацией ReorderRow, как описано здесь .К сожалению, я не знаю, как внедрить JavaScript в приложение Shiny, особенно параметры с данными.

1 Ответ

0 голосов
/ 04 декабря 2018

Нужно добавить имена строк и отсортировать таблицу по ним, как упоминалось в выпуске github .Рабочие решения требуют только добавления order = list(list(0, 'asc')) в DT options:

library(shiny)
library(DT)

iris2 = head(iris, 30)


server <- function(input, output) {
  output$tb <-DT::renderDataTable(server=FALSE,{
    datatable(
      iris2,
      colnames = c(colnames(iris2)), extensions = 'RowReorder',
      options = list(order = list(list(0, 'asc')), rowReorder = TRUE))
  })
}


ui <- fluidPage(dataTableOutput('tb', width = '200px', height = '200px'))

shinyApp(ui, server)
...