2016-11-23 101 views
0

相同dataTableOutput是否有几个标签重用dataTableOutput的可能性?我发现的唯一可能性是使用dataTableOutput获得自己的行的布局,但我不希望它在所有选项卡上。使用不同的标签

如果我只是叫dataTableOutput多次,没有表得到打印。

编辑:

由于daattali的答案,我得到这个几乎已经完成。我之前没有提到的唯一的事情是,我需要以某种方式同步两个表。此刻,当我尝试通过代理更新彼此,在很短的时间来选择多行的时候......

回答

2

不能使用相同的ID(因为你不能把整个系统得到马车两个元素在同一个页面上具有相同的ID),但是你可以做的只是将表生成一次作为反应值,然后在渲染表函数内简单地返回该值。这样做的好处是只运行用于生成一次表的代码,并根据需要在多个输出中重复使用该表。

例子:

library(shiny) 

ui <- fluidPage(
    tabsetPanel(
    tabPanel("tab1", "tab 1", DT::dataTableOutput("table1")), 
    tabPanel("tab2", "tab 2", DT::dataTableOutput("table2")) 
) 
) 

server <- function(input, output, session) { 
    table_data <- reactive({ 
    DT::datatable(iris) 
    }) 
    output$table1 <- DT::renderDataTable(table_data()) 
    output$table2 <- DT::renderDataTable(table_data()) 
} 

shinyApp(ui = ui, server = server) 
+0

好吧,这听起来不错。我想我必须使用代理来同步数据表之间的选定行,还是有更简单的方法? – drmariod

+0

对不起,我还没有尝试过,我不确定 –

相关问题