Я использую блестящую картинку для ввода пользователем. Хотя столбец «Номер партии *» определен как символьный тип данных, он не позволяет пользователю вводить символы, а ограничивает его только значениями numeri c. Когда я проверяю str () настраиваемого объекта, столбец имеет тип numeri c. Может ли кто-нибудь сообщить мне, почему это происходит? Мое определение handsontable,
test_in <- function(){
# test Data Input
col_names <- c("Lot Number*", "Condition*")
col_classes <- c("character", "character")
df <- setNames(data.frame(matrix(ncol = length(col_names), nrow = 1), stringsAsFactors = FALSE), col_names)
df[] <- Map(`class<-`, df, col_classes)
df <- rhandsontable(df,
rowHeaders = NULL,
height = 120,
width = 900,
stretchH = "all",
search = TRUE) %>%
hot_context_menu(allowRowEdit = FALSE, allowColEdit = FALSE) %>%
hot_col(col = "Condition*", type = "dropdown", source = c("fresh", "frozen"),default = "frozen",strict = TRUE)
return(df)
}
вывод str (df)
.. ..$ Lot Number* : chr "character"
.. ..$ Condition* : chr "character"
.. .. ..$ type : chr "numeric"
.. .. ..$ renderer :Class 'JS_EVAL' chr "customRenderer"
.. .. ..$ default : logi NA
.. .. ..$ allowInvalid: logi FALSE
.. ..$ :List of 6
.. .. ..$ type : chr "dropdown"
.. .. ..$ renderer :Class 'JS_EVAL' chr "customRenderer"
.. .. ..$ default : chr "frozen"
.. .. ..$ allowInvalid: logi FALSE
.. .. ..$ source : chr [1:2] "fresh" "frozen"
.. .. ..$ strict : logi TRUE