2016-11-23 104 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

對不起,我還沒有嘗試過,我不確定 –

相關問題