我在ShinyProxy中有一个需要用户登录才能访问的应用程序。我在应用程序中有一个DT::datatable,它允许用户重新排序列(大约有20-30列数据,所以重新排序它们是一件痛苦的事情)。如果他们先重新排序列,然后使用任何过滤器/切片器,列将重新排序回默认值;如果用户离开应用程序并重新打开它,则列将恢复默认顺序。
我想给予用户一个“保存列顺序”的操作按钮,然后将每个用户的设置存储在Redis中,这样当他们使用过滤器和/或离开并重新进入应用程序时,他们可以使用自己喜欢的列顺序,而不是我设置的默认列顺序--想让他们更容易!
我发现这个网站(https://rstudio.github.io/DT/shiny.html)让我很接近,但没有雪茄。我想它可能是像input$tableId_columns_all
或input$tableId_columns
的东西-然而,这些都没有工作/返回NA。
我试过大量的谷歌搜索,我发现大多数看起来能给我答案的东西要么是Python,要么是jQuery,我不相信它们能解决我的问题。
我很乐意接受我所想到的ActionButton + Redis方法或完全不同的想法!我真的只是想在ShinyProxy中保存用户设置。
谢谢你!
3条答案
按热度按时间n8ghc7c11#
我不知道如何保存/恢复订单,但这里是你可以得到订单的方法:
exdqitrt2#
我很晚才提出我的解决方案,但你们中的一些人可能会感兴趣,在这里,我们得到了列标题的最终名称。
rjjhvcjd3#
在
datable
options
中使用stateSave = TRUE
也可能是一个解决方案。