2017-01-23 7 views
3

나는를 선택할 때 난 내가 DT::renderDataTable({DT::datatable(data(), options=list(scrollX=TRUE))})데이터 테이블 출력

10 개 항목 뭔가를 보여줄 때 이것은 잘 작동과 데이터 테이블을 구축 R.에서 flexdashboard에 표시 할 데이터를 가지고 있지만, 옵션을 25 개의 항목으로 표시하려면 페이지의 맨 아래로 스크롤하여 두 번째 페이지 단추, 다음 단추 등을 클릭 할 수 없습니다. 이전처럼 세로로 스크롤 할 수 없습니다. sScrollY = "300px" 옵션을 시도했지만 데이터 테이블을 확장하여 내 flexdashboard의 전체 페이지를 채울 수 없습니다. 문제는 y 방향으로 스크롤하려고 할 때 관찰 행이 끊어져서 액세스 할 수 없다는 것입니다.

나는 예에서

https://shiny.rstudio.com/gallery/datatables-options.html 같이 내가 datatables 확장하고 예상대로 기입하기 위해 무엇을해야하는지 궁금합니다, 당신은 당신이를 변경할 때 아래로 스크롤하고 여전히 가능 방법을 볼 수 있습니다 표시된 행 수. 나는 datatable의 새로운 버전에서 이것을 할 수 없다. 지금 당장은 표시되는 행 수를 10 개로 제한하고 있습니다 ... 그러나 이것은 장기적인 해결책은 아닙니다.

모든 아이디어를 매우 높이 평가합니다. 고맙습니다. 베스트, NF

+0

'Scroller'extension을보세요 – HubertL

답변

0

나는 동일한 문제가 있었는데, 나는 데이터 테이블을 확장 할 수 없었습니다. 문제는 모든 데이터 테이블에 기본값으로 autoWidth = FALSE 옵션이 있으므로이 값을 autoWidth = TRUE으로 변경해야한다는 것입니다. 이 같은

시도 뭔가 :

DT::renderDataTable({DT::datatable(data(), options=list(autoWidth = TRUE,scrollX=TRUE))}) 

그 후 당신은 폭 조작으로 미세하게한다.

다음은 예입니다.

library(shiny) 
    library(shinydashboard) 
    library(DT) 

    ui <- dashboardPage(
    dashboardHeader(title="Data Table"), 
    dashboardSidebar(
    menuItem(text="Menu",icon=icon("bars"), 
      menuSubItem(text="Show datatable",tabName="ShowData", icon=icon("search"))) 
), 
    dashboardBody(
    tabItems(
     tabItem(tabName="ShowData", 
       box(DT::dataTableOutput("Data"),width = 12))))) 

server <- shinyServer(function(input, output) { 

    output$Data<-DT::renderDataTable({DT::datatable(data(),options = list(autoWidth = TRUE,scrollX = TRUE))}) 
}) 

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

응답 해 주셔서 감사합니다. 그러나 x 방향으로 작업 할 때 문제가되지는 않습니다 ... y 방향으로 100 % 문제가 있습니다. "25 행 표시"를 선택하자마자 처음 18 개만 볼 수 있고 대시 보드 페이지에서 1로 스크롤 할 수 없습니다. 나머지 관측을 봅니다. 2. 다음 페이지 아이콘을 봅니다. 3. 이전/다음 아이콘을 봅니다. . – nate

1

은 내가 아직 만족입니다 해결책을 찾을 수 없어,하지만 중간에 대해, 나는 sScrollY = '75vh' 아규먼트를 사용하여이 같은 데이터 테이블 건물입니다 :

DT::renderDataTable({ DT::datatable(plot_data(), options = list(scrollX = TRUE, sScrollY = '75vh', scrollCollapse = TRUE), extensions = list("Scroller")) })

을 적어도 이렇게하면 페이지 매김이 보입니다. 누구든지 추가 아이디어가 있다면, 나는 그들을 듣고 싶습니다. 지금 건배. --Nate