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