0
以下示例應用程序以用戶必須填寫的空表開始。我想在他爲Nation和City列選擇的值中增加一些依賴項,例如,如果他選擇Nation = Italy,當他點擊城市列時,只有米蘭和羅馬應該出現;反之,如果他首先選擇米蘭,意大利應該出現在自動完成列表中。 建議? 謝謝rhandsontable自動填充依賴列
library(rhandsontable)
library(shiny)
ui = fluidPage(rHandsontableOutput("data"))
server = function(input,output) {
df = data.frame(Nation = character(),City=character(),Num_Clients=integer())
values = reactiveValues(data = df)
observe({
req(input$data)
values$data = hot_to_r(input$data)
})
output$data = renderRHandsontable({
rhandsontable(values$data, height=500, minRows=1,stretchH = "all") %>%
hot_col(col="Nation",type="autocomplete",source=c("England","Spain","Mexico" ,"Italy"),strict=TRUE,allowInvalid=FALSE) %>%
hot_col(col="City",type="autocomplete",source=c("Rome","Guadalajara","Madrid ","London","Milan"),strict=TRUE,allowInvalid=FALSE) %>%
hot_validate_numeric(col = "Num_Clients", min = 0)
})
}
shinyApp(ui = ui, server = server)
感謝您的回答。我想知道是否有更有效的方式爲每個國家和城市做到這一點,或者更一般地說,對於所有可能情況下的2列或更多列中的每個允許值,無需使用開關。 – Syl86
也許在數據框中保存所有國家和城市,並根據用戶選擇的國家過濾城市? – SBista