Я использую пакет EditData в веб-приложении Shiny для редактирования или внесения незначительных изменений в набор данных.
Функциональность редактирования работает хорошо, но есть возможность выбрать несколько столбцов для удаления, но не для редактирования, и я пытаюсь включить то же самое для редактирования.
Я новичок здесь, и я попытался изменить функцию в соответствии с моими потребностями, и так как у меня нет таких хороших знаний, и я терплю неудачу.
Кажется, я понял, что функция editableDT внутри этого пакета отвечает за обновление значений, из которых обновляются стрелки влево и вправо (кнопки действий), и, следовательно, за выбор строк.
observeEvent(input$left, {
value = ifelse(input$no > 1, input$no - 1, 1)
updateNumericInput(session, "no", value = value)
})
observeEvent(input$right, {
value = ifelse(input$no < nrow(df()), input$no + 1, nrow(df()))
updateNumericInput(session, "no", value = value)
})
Мое требование:
Если я выбираю несколько строк, кнопки «Влево» и «Вправо» должны обновляться только до выбранных строк.
Пример: если я выберу 2,5 и 8 строк, редактирование должно начинаться со 2-го, а затем до 5-го и 8-го.
observeEvent(input$right,{
ids <- input$origTable_rows_selected
for (i in ids) {
value = i
updateNumericInput(session,"no",value=value)
}
})
Я пробовал приведенный выше код, но выбор начинается с единицы, а затем после нажатия клавиши вправо он переходит к последней выбранной строке, в моем примере 8-й строке.
editData::editData(mtcars)
в этом примере, если выбран переключатель «несколько» и после выбора 2,5 и 8-й строк и когда вызывается «Правка», редактирование всегда начинается с 1-й строки и увеличивается на одну строку до следующей или предыдущей после нажатия кнопки. Правая и Левая кнопка соответственно.
[Пример Pic из EditData] [1]
[1]: https://i.stack.imgur.com/lVZuT.png
Что мне нужно, так это увеличить / уменьшить число следующих / предыдущих выбранных строк.