我在第一个数据表中的闪亮应用程序中有两个数据表我可以编辑,添加,删除数据非常好,但在第二个数据表中,当我想选择一行来编辑表时,它没有显示任何内容textinput编辑它。 我认为这是因为相同功能中某些参数的名称相似。但我不知道我的问题在哪里?以下是CRUD
的链接第一个数据表的更新功能如下:
UpdateInputs <- function(data, session) {
updateTextInput(session, "id", value = unname(rownames(data)))
updateTextInput(session, "name", value = unname(data["name"]))
updateCheckboxInput(session, "used_shiny", value = as.logical(data["used_shiny"]))
updateSliderInput(session, "r_num_years", value = as.integer(data["r_num_years"]))
}
UpdateData <- function(data) {
data <- CastData(data)
responses[row.names(responses) == row.names(data), ] <<- data
}
第二个数据表的类似新函数
UpdateInputs1 <- function(data, session) {
updateTextInput(session, "id1", value = unname(rownames(data)))
updateTextInput(session, "name1", value = unname(data["name1"]))
}
UpdateData1 <- function(data) {
data <- CastData1(data)
responses2[row.names(responses2) == row.names(data), ] <<- data
}
Server.R
# Press "New" button -> display empty record
observeEvent(input$new, {
UpdateInputs(CreateDefaultRecord(), session)
})
# Select row in table -> show details in inputs
observe({if (length(input$responses_rows_selected) > 0)
{
data <- ReadData()[input$responses_rows_selected, ]
UpdateInputs(data, session) }
})
# Press "New" button -> display empty record
observeEvent(input$new1, {
UpdateInputs1(CreateDefaultRecord1(), session)
})
# Select row in table -> show details in inputs
observeEvent(input$responses2_rows_selected, {
if (length(input$responses2_rows_selected) > 0) {
data <- ReadData1()[input$responses2_rows_selected, ]
UpdateInputs1(data, session)
}})