如何将闪亮的已编辑数据表保存到Postgres数据库中?

时间:2020-07-24 08:13:10

标签: postgresql shiny datatable dt

我有一个脚本,可将数据从Postgres数据库加载到可编辑的DT数据表中。我可以在Shiny应用程序中编辑此表,但无法弄清楚如何保存这些编辑。最终,我需要使用操作按钮将这些编辑保存到我的数据库中。

这是我到目前为止所拥有的:

 h3("Double-click to edit values in table"), 
      DT::dataTableOutput("table"), 
     
      
      actionButton("submitchanges",
                   label = "Submit Changes")'''



server = function(input, output, session){

#SHOW  DATA FROM ENTRY TO BE EDITED
newtable <- reactive({
  query1 <- paste0("Random query")
  df <- as.data.frame(DBI::dbGetQuery(con1, query1))
  newtable <- df
})
    
###Tracking Changes###
rvs <- reactiveValues(
  data = NA #dynamic data object
)

observe({
  rvs$data <- newtable
})

output$table <- DT::renderDataTable(
  rvs$data, editable = TRUE, rownames = FALSE
)

proxy = dataTableProxy("table")
observe({
  DT::replaceData(proxy,rvs$data(), resetPaging = FALSE, clearSelection = "none")
})

observeEvent(input$table_cell_edit, {
  rvs$data <<- editData(rvs$data, input$table_cell_edit, resetPaging = FALSE)
}) 

observeEvent(input$sumbitchanges, {
DBI:: dbWriteTable(con1,SQL('my_schema'), rvs$data, append=T, row.names=F)}
)

0 个答案:

没有答案