Я создал приложение, которое позволяет пользователю выполнить запрос и получить результаты из rodb c. По умолчанию генерируемый в TextAreaInput запрос выбирается * из $ tableName. У меня есть кнопка действия 'Go' рядом с этим полем ввода, и когда я нажимаю go, запрос выполняется и результат выбирается в теле. Теперь я хочу, чтобы кнопка «Go» была включена только тогда, когда в запросе выбора есть предложение «когда». Короче говоря, пользователь должен иметь возможность выполнять только тогда, когда он включил в запрос предложение where. Я связал str_detect и grpl, но они, похоже, не работают. Помощь Эми очень ценится.
С уважением
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)}
)