R在ObserveEvent

时间:2019-01-07 14:24:00

标签: r shiny shinydashboard shiny-server shiny-reactivity

我正在使用Shiny Web应用程序中的EditData包来对数据集进行编辑或进行较小的更改。 编辑功能效果很好,但是有一个选项可以选择要删除的多个列,但不能进行编辑,我正在尝试将其合并到编辑中。 我是这里的新手,由于我没有足够的知识,而且我失败了,因此尝试根据需要更改功能。

我似乎发现该程序包中的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)

在此示例中,如果选择了“ multiple”单选按钮,并且在选择了第2、5和8行之后,并且在调用Edit时,编辑总是从第一行开始,并在按了键之后递增到下一行或上一行左右按钮。 [EditData图片示例] [1]     [1]:https://i.stack.imgur.com/lVZuT.png

我需要增加/减少到下一个/上一个选定的行。

0 个答案:

没有答案