Die folgende Beispielanwendung beginnt mit einer leeren Tabelle, die der Benutzer ausfüllen muss. Ich möchte einige Abhängigkeiten in den Werten hinzufügen, die er für die Spalte Nation und Stadt wählen könnte. Wenn er beispielsweise Nation = Italien wählt, wenn er auf die Spalte Stadt klickt, sollten nur Mailand und Rom erscheinen. Umgekehrt, wenn er zuerst Mailand auswählt, sollte nur Italien in der Autovervollständigungsliste erscheinen. Vorschläge? Dankerhandsontable autocomplete abhängige Spalten
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)
Danke für die Antwort. Ich frage mich, ob es einen effizienteren Weg gibt, dies für jede Nation und Stadt zu tun, oder allgemeiner für jeden erlaubten Wert in 2 oder mehr Spalten eines handsontable, ohne einen Schalter für alle möglichen Fälle zu verwenden. – Syl86
Speichern Sie möglicherweise die gesamte Nation und die Stadt in einem Datenrahmen und filtern Sie die Städte basierend auf der ausgewählten Nation des Nutzers. – SBista