我在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中看到更新的值。
有什么想法吗?
答案 0 :(得分:0)
没有可复制的示例很难调试。我的猜测是您缺少selectInput
或数据检索的reactive context。请确保使用updateSelectInput
更新下拉菜单,并在服务器内部使用反应式表达式获取数据。此外,要实现此目标,您需要在数据库更新时自动通知您的Shiny App,这可能难以实现。我建议使用操作按钮或计时器(reactiveTimer
)触发查询
答案 1 :(得分:0)
我在server.R中使用了updateSelectInput
:
updateSelectInput(session ,"SelectVar", choices = DropDownListForVar())
在更新“ SelectVar”后触发,并且工作正常。
对于我来说,了解数据库的更新时间很容易,因为一次只有一个用户在单击按钮时添加记录。谢谢!