У меня есть требование показать 2 таблицы данных на 2 разных вкладках в блестящем приложении. Один представляет собой простой набор данных, тогда как другой использует расширение группы строк пакета DT. Когда я использую вкладки для отображения обеих таблиц данных, функция rowgroup, похоже, не работает.
library(shiny)
library(DT)
library(shinyjs)
ui <- fluidPage(
dashboardBody(
fluidRow(
tabBox(width = "100%",
tabPanel("Table 1",
fluidRow(
column(12, withSpinner(DTOutput("my_table2",height="600px")))
)
),
tabPanel("Table 2",
fluidRow(
column(12, withSpinner(DTOutput("my_table1",height="600px")))
)
)
)
)
)
)
server <- function(input, output) {
output$my_table1<-DT::renderDataTable({
datatable(mtcars[1:15,1:5],
extensions = 'RowGroup',
options = list(rowGroup = list(dataSrc=c(3)),
pageLength = 20),
callback = JS("
$('#DataTables_Table_0 tbody').on('click', 'tr.group', function () {
var rowsCollapse = $(this).nextUntil('.group');
$(rowsCollapse).toggleClass('hidden');
});"))
})
output$my_table2<-DT::renderDataTable({
datatable(mtcars[1:15,1:5],rownames = FALSE,
options = list(
order=list(list(1,'asc'),list(2,'asc')),
scrollX = TRUE,
pageLength = 100,
lengthMenu = c(10, 20, 100),
searching = TRUE)) %>%
formatStyle(0, target= 'row',color = 'black', backgroundColor = 'silver',
fontWeight ='normal', lineHeight='100%')
})
}
shinyApp(ui = ui, server = server)
Но если я отображаю datatable с rowgroup на 1-ой вкладке, она работает нормально. Но мое требование состоит в том, чтобы отобразить таблицу с группой строк во вкладке 2.
Может кто-нибудь помочь, пожалуйста