2016-07-14 91 views
-1

我對DT :: renderDatatable函數有問題,也許有人可以提供幫助。我試圖在一個閃亮的應用程序中顯示data.table,它只顯示14列中的前9個。當我將DT打印到控制檯時,它工作正常。DataTable中的列在閃亮的應用程序中消失

# load and render 
    observeEvent(input$btLoadUserRules, { 
    # get data.frame with user rules 
    df.temp1 <- oFormUserRules$getAllUserRules() 
    # convert to data.table 
    dt.temp2 <- data.table(df.temp1) 


    output$tbl_tab2_1 <- DT::renderDataTable(dt.temp2, 
              options = list(paging = FALSE, searching = FALSE)) 

謝謝!

瑪麗

+0

如果在'observeEvent'中添加'print(ncol(dt.temp2))'會發生什麼?控制檯中有9個或14個嗎? – Carl

+0

問題解決了。並不是所有的列都顯示出來,但是它被放大,所以有些列不再可見。我沒有注意到,因爲它無法滾動,所以正確查看它的唯一方法就是縮小。謝謝大家! – mariego

+0

這是哪個例子? – jangorecki

回答

1

我個人不喜歡你在做什麼observeEvent你應該永遠observe語句中做小事。也許這種替代方法會起作用

dt.temp2 <- eventReactive(input$btLoadUserRules, { 
     # get data.frame with user rules 
     return(as.data.table(oFormUserRules$getAllUserRules()))) 
output$tbl_tab2_1 <- DT::renderDataTable(dt.temp2(),options = list(paging = FALSE, searching = FALSE))) 
+0

謝謝,它已經正常工作,因爲我剛剛評論過上面。我仍然會考慮你的代碼,使我的更好。 – mariego

+0

如果您使用'observe'來更好地使用'reactive'表達式,您可能會遇到問題:)開心編碼 –

相關問題