从RODBC检索闪亮的DropDownList上的selectInput刷新

时间:2018-07-31 08:42:54

标签: r shiny rodbc shiny-reactivity

我在ShinyUI Tab1中有一个反应式输入:

selectInput("SelectVar", choices = DropDownListForVar())

,其中

DropDownListForVar()) = function (){
    sqlQuery = return ( Connection, "Select var from dbo.Variables")
} ## using RODBC library

在闪亮的应用程序中,我还从Tab2更新了dbo.Variables表。问题是,除非重新启动应用程序,否则我无法在Tab1的dbo.Variables中看到更新的值。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

没有可复制的示例很难调试。我的猜测是您缺少selectInput或数据检索的reactive context。请确保使用updateSelectInput更新下拉菜单,并在服务器内部使用反应式表达式获取数据。此外,要实现此目标,您需要在数据库更新时自动通知您的Shiny App,这可能难以实现。我建议使用操作按钮或计时器(reactiveTimer)触发查询

答案 1 :(得分:0)

我在server.R中使用了updateSelectInput

updateSelectInput(session ,"SelectVar", choices = DropDownListForVar())

在更新“ SelectVar”后触发,并且工作正常。

对于我来说,了解数据库的更新时间很容易,因为一次只有一个用户在单击按钮时添加记录。谢谢!