【发布时间】:2020-04-14 05:58:53
【问题描述】:
我创建了一个应用程序,它使用户能够运行查询并从 rodbc 获取结果。默认情况下,在 TextAreaInput 中生成的查询是 select * from $tableName。我在该输入框旁边有一个操作按钮“开始”,当我按下“开始”时,查询被执行,结果被提取到正文中。 现在,我希望只有在其中的“选择”子句时才启用“ GO”按钮。简而言之,用户应该只有在查询中包含 where 子句时才能执行。我绑定了 str_detect 和 grpl 但它们似乎没有工作。非常感谢 Amy 的帮助。
问候
body <- dashboardBody(
fluidRow(
width=12,
column(
width=11,
textAreaInput2( inputId = "query",label = "Enter Query", width = "100%")
),
column(
width = 1,
actionButton(inputId = "runQuery", label = "Go",style="width:70px",class="btn-lg"),
class="align-middle",style = "height:100px;text-align:center;margin-top:25px;"
),style = "height:100px"
),
dataTableOutput('table'),
fluidRow(width = 12, column(
width=10)
)
ui <- dashboardPage(skin = "green", header,sidebar, body)
server <- function(input, output, session) {
resultTable <- data.frame()
observeEvent(input$tableName, {
nQuery = paste("SELECT * FROM ",input$tableName,sep = "" )
updateTextAreaInput(session, "query", value = nQuery)
})
observeEvent(input$runQuery, {
resultTable <<- sqlQuery (channel = conn, query = input$query)
output$table <- renderDataTable(resultTable)}
)
【问题讨论】:
-
'shinyjs' 包可能会有所帮助:deanattali.com/shinyjs
-
我无法得出这个的逻辑。如果 sql 查询中不存在时,我需要禁用“开始”按钮
标签: r shiny shinydashboard