2017-06-09 73 views
1

我使用闪亮的演示文稿以显示两个表格。 这里是我的代码:在一个闪亮的演示文稿中减少renderDataTable中的字体大小

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)) 
) 

我想缩小表的大小。我试图通过以下方式添加div:

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

但是这不起作用。

我也试着这样做:

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)) 

,但它显示在半表切在演示文稿中。

+1

'字体size'只会减少字体大小。你有没有试过['宽度]以及(https://stackoverflow.com/a/31948061/322912)? –

+0

是的,它没有正确显示任何东西。 – Maggie

回答

2

如果你想减少表的大小,把它放在一个列有width < 12.如果您还想要减少字体大小,shinyjs :: inlineCSS就派上用场了:

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) 
    }) 
    }) 
) 

enter image description here

编辑:有人指出,加入style命令添加到您的div包含该表的工作原理,甚至更好:fluidPage(style = "font-size: 75%; width: 75%", dataTableOutput("iris")))

相关问题