2016-07-14 87 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'表达式,您可能会遇到问题:)开心编码 –

相关问题