Создание полноэкранного виджета таблицы DT в блестящем гаджете - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь создать блестящий гаджет для просмотра моих данных в таблице данных с использованием библиотеки DT.Я бы хотел, чтобы виджет DT заполнял всю блестящую страницу или экран, но таблица отображается с небольшой фиксированной высотой.Как я могу получить таблицу для заполнения пользовательского интерфейса?

Я уже установил параметр высоты dataTableOutput на 100%, и я пробовал разные контейнеры пользовательского интерфейса, такие как assP fillPage вместо miniUI, без какого-либо успеха.

Вот сокращенная версия моего кода:

library(shiny)
library(miniUI)
library(DT)

ViewDT <- function(data) {

  ui <- miniPage(
    DT::dataTableOutput("mytable1", height = "100%")
    )

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

    output$mytable1 <- DT::renderDataTable({
      table <- DT::datatable(data, 
                             extensions = c('Buttons','Scroller'), 
                             options = list(dom = 'BrtS', 
                                            buttons = I('colvis'),
                                            scrollY = 200,
                                            deferRender = TRUE,
                                            paging = T
                                            )
                             )
      })
  }

  runGadget(ui, server, viewer = dialogViewer("Data"))
}

ViewDT(iris)

Результат: Таблица заполняет около половины средства просмотра диалогов вместо всей его полноты.

1 Ответ

0 голосов
/ 19 мая 2019

Вы можете использовать: fillContainer = TRUE:

library(shiny)
library(miniUI)
library(DT)

ViewDT <- function(data) {

  ui <- miniPage(
    DT::dataTableOutput("mytable1", height = "100%")
  )

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

    output$mytable1 <- DT::renderDataTable({
      table <- DT::datatable(data, 
                             extensions = c('Buttons','Scroller'), 
                             options = list(dom = 'BrtS', 
                                            buttons = I('colvis'),
                                            scrollY = 200,
                                            deferRender = TRUE,
                                            paging = TRUE
                             ),
                             fillContainer = TRUE
      )
    })
  }

  runGadget(ui, server, viewer = dialogViewer("Data"))
}

ViewDT(iris)
...