Kurangi ukuran font di renderDataTable dalam presentasi yang mengkilap

Saya menggunakan presentasi yang mengkilap untuk menampilkan dua tabel. Ini kode saya:

tabsetPanel(
  tabPanel('iris',
           renderDataTable(iris,options = 
list(lengthMenu = c(5, 10), pageLength = 5, scrollX = TRUE), escape = 
FALSE)), 
  tabPanel('mtcars',
           renderDataTable(mtcars, options = list(lengthMenu 
= c(5, 10), pageLength = 5, scrollX = TRUE), escape = FALSE))
)

Saya ingin memperkecil ukuran tabel. Saya mencoba menambahkan div dengan cara berikut:

div(renderDataTable(mtcars, options = list(lengthMenu 
= c(5, 10), pageLength = 5, scrollX = TRUE), escape = FALSE), style = "font-
size:50% ")

Tapi ini tidak berhasil.

Saya juga mencoba melakukan ini:

mainPanel( 
  tabsetPanel(id='BLMS', 
              tabPanel("iris", fluidRow(div(dataTableOutput(outputId="iris"),  
style = "font-size:50%"))), 
              tabPanel("mtcars", 
fluidRow(div(dataTableOutput(outputId="mtcars"),  style = "font-size:50%")))
              )
  )  

output$iris<- renderDataTable({iris}, options = list(lengthMenu = c(5, 10), 
pageLength = 5, scrollX = TRUE))

output$mtcars<- renderDataTable({mtcars},options = list(lengthMenu = c(5, 
10), pageLength = 5, scrollX = TRUE))

Tapi itu menampilkan tabel yang dipotong setengah dalam presentasi.


person Maggie    schedule 09.06.2017    source sumber
comment
font-size hanya akan memperkecil ukuran font. Sudahkah Anda mencoba width juga?   -  person Roman Luštrik    schedule 09.06.2017
comment
Ya, itu tidak menampilkan apa pun dengan benar.   -  person Maggie    schedule 09.06.2017


Jawaban (1)


Jika Anda ingin memperkecil ukuran tabel, letakkan di kolom dengan width ‹ 12. Jika Anda ingin memperkecil ukuran font lebih lanjut, mengkilapjs::inlineCSS berguna:

library(DT)
library(shinyjs)
shinyApp(shinyUI(
  fluidPage(column(width=6, dataTableOutput("iris")),
        useShinyjs(),
        inlineCSS(list("table" = "font-size: 8px")))
  ),

  shinyServer(function(input, output) {
    output$iris = renderDataTable({
        datatable(iris,options =
                    list(lengthMenu = c(5, 10), pageLength = 5, scrollX = TRUE), escape =
                    FALSE)
    })
  })
)

masukkan deskripsi gambar di sini

sunting: seperti yang ditunjukkan, menambahkan perintah style ke div Anda yang berisi tabel berfungsi lebih baik: fluidPage(style = "font-size: 75%; width: 75%", dataTableOutput("iris")))

person shosaco    schedule 10.06.2017