DT tables not updating while other tables are



split from DT datatables not updating when normal data tables work fine

I got a similar issue even with DT 0.4, I am afraid. The example app runs fine, but in my own dashboard (much more complex), regular tables work fine, but DT tables don't. I cannot think of a way to reproduce this, though.

DT datatables not updating when normal data tables work fine

Here is the session info (I've updated DT to 0.5.1. in the meanwhile, but to no avail):

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 9 (stretch)

Matrix products: default
BLAS: /usr/lib/openblas-base/libblas.so.3
LAPACK: /usr/lib/libopenblasp-r0.2.19.so

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=C             
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] bindrcpp_0.2.2           plotly_4.8.0             Hmisc_4.1-1             
 [4] Formula_1.2-3            survival_2.42-6          lattice_0.20-35         
 [7] rlang_0.3.0.1            gower_0.1.2              echarts4r_0.1.2.9000    
[10] dygraphs_1.1.1.6         mondate_0.10.01.02       shinyBS_0.61            
[13] shinydashboardPlus_0.5.0 htmltools_0.3.6          timevis_0.4             
[16] shinydashboard_0.7.0     shinyWidgets_0.4.3       shinythemes_1.1.1       
[19] flexdashboard_0.5.1.1    lubridate_1.7.4          data.table_1.11.4       
[22] DT_0.5.1                 forcats_0.3.0            stringr_1.3.1           
[25] dplyr_0.7.6              purrr_0.2.5              readr_1.1.1             
[28] tidyr_0.8.2              tibble_1.4.2             ggplot2_3.0.0           
[31] tidyverse_1.2.1          shiny_1.1.0


After digging around some more, we've managed to locate an error. It is still a strange one, however.

The setup is as follows: we have a filter that impacts data generation for two DT tables. Both tables have separate renderDT() & DTOutput() couplings. In principle, they should be independent from each other, as the only common ancestor that they have is the global data frame, plus, of course, the filter itself. Now, the filter works fine as long as the number of rows in each table is greater than 0. However, if even one of the tables has zero rows, BOTH tables are not updated (or not rendered, when this is upon initialization).


Good sleuthing! Now that you’ve narrowed down the problem, can you make a small example app demonstrating it? I think that will be necessary for helpers to be able to get somewhere with this. See our Shiny debugging and reprex guide for more tips.