У меня есть приложение Shiny Server, в котором пользователь может редактировать таблицу данных, после чего обновляется некоторая зависимая сводная статистика таблицы.Я размещаю это приложение на довольно медленной основе, поэтому я хочу использовать обработку на стороне клиента для рендеринга DT (server = F передается в DT :: renderDataTable).Позвольте мне разбить основные моменты моей проблемы:
Код полностью работает, когда Сервер = T передается как аргумент.
При передаче Сервер = F браузер выдает следующее сообщение об ошибке, когда пользователь редактирует ячейку в DT:
Написано:
Предупреждение DataTables: идентификатор таблицы = DataTables_Table_5 - Неверный ответ JSON.Для получения дополнительной информации об этой ошибке см. http://datatables.net/tn/1
Интересно то, что при закрытии этого окна ошибки зависимая сводная статистика корректно обновляется в соответствии с редактированием, и приложение Shiny продолжает работу..Следовательно, все работает, кроме ошибки.Я должен отметить, что я посетил сайт, упомянутый в ошибке, не становясь мудрее.
Следующая тема SO затрагивает эту проблему (неразрешенная).Я решил, что перед отправкой этой (возможной ошибки?) На страницу Git я бы отправил подробный SO-поток.
Полагаю, это не сильно поможет, учитывая, что приложение работает, однако мой код приведен ниже;
server.R:
output$alloc_table = DT::renderDataTable({
DT::datatable(dt,
options=list(pageLength=10, autowidth = TRUE),
editable = T,
selection = list(mode = 'none')) %>%
}, server = FALSE)
alloc_table_proxy = DT::dataTableProxy('alloc_table')
observeEvent(input$alloc_table_cell_edit, {
info = input$alloc_table_cell_edit
str(info)
i = info$row
j = info$col
v = info$value
if (j == 7){
container$rendered$Allocation[i] = DT::coerceValue(v, container$rendered$Allocation[i])
replaceData(alloc_table_proxy, container$rendered, rownames = FALSE)
}
})
Спасибо!
РЕДАКТИРОВАТЬ: Воспроизводимый код в моей теме выпуска Github: https://github.com/rstudio/DT/issues/598