【发布时间】:2018-08-07 01:26:46
【问题描述】:
我正在使用以下代码使用数据库值填充下拉列表:-
服务器.R
sqlOutputAssetClass <- reactive({
sqlInputAssetClass<- paste("select distinct ASSET_CLASS from DUMMY_TABLE",sep="")
dbGetQuery(con, sqlInputAssetClass)
})
sqlOutputFeedSrcSys <- eventReactive(input$pick_assetclass, {
sqlInputFeedSrcSys<- paste("select distinct FEED_SRC_SYS from DUMMY_TABLE where ASSET_CLASS=",
"'",
input$pick_assetclass,"'",sep="")
dbGetQuery(con,sqlInputFeedSrcSys)
})
observe ({
updateSelectInput(session,"pick_assetclass","ASSET CLASS",
choices = sqlOutputAssetClass())
})
observe ({
updateSelectInput(session,"pick_feedsrcsys","FEED SOURCE SYSTEM",
choices = sqlOutputFeedSrcSys())
})
UI.R
selectInput('pick_assetclass',label ='Asset Class',
choices=NULL,selected = NULL, multiple = FALSE,width="450px"),
selectInput('pick_feedsrcsys',label ='Feed Src Sys',
choices=NULL,selected = NULL, multiple = FALSE,width="450px"),
我看到下拉列表中填充了值以及数据库表中的列名。 另一个奇怪的事情是,当下拉列表中只有一个值时,该值不会显示,但会显示列名。
请告诉我如何解决这些问题?
谢谢,
【问题讨论】:
-
只需将
sqlOutputFeedSrcSys()转换为包含您要显示的选项的未命名字符向量。您可以在observe中使用browser()来查看需要进行哪些转换。 -
谢谢..你能分享一个代码sn-p吗?