I am running an R Shiny web-app. I used datatables to show the data. But I want the inline editing of cell of the tables. I am unable to do that. Can any one guide me?
我正在运行一个R Shiny网络应用程序。我使用数据表来显示数据。但我想要内联编辑表格的单元格。我无法做到这一点。任何人都可以指导我吗?
Here is my code in
这是我的代码
# UI.R
fluidRow(
column(4,dataTableOutput("numericalBin")),
column(8,h1("numericalBin_Chart")))
)
# Server.R
output$numericalBin <- renderDataTable({
mtcars
},options = list(
lengthChange=FALSE,
searching=FALSE,
autoWidth=TRUE,
paging=FALSE
))
I want to edit cell. Here is the link I want to do the effect:
https://editor.datatables.net/examples/inline-editing/simple.html
我想编辑单元格。以下是我想要发挥作用的链接:https://editor.datatables.net/examples/inline-editing/simple.html
I need something to add in option list maybe but I can not find the right one.
我需要在选项列表中添加一些东西,但我找不到合适的。
1 个解决方案
#1
11
Apart from DT prototype proposed by @dracodoc, another option is using rhandsontable package.
除了@dracodoc提出的DT原型之外,另一种选择是使用rhandsontable包。
EDIT: according to comments by @hveig and @Munawir, a piece of working example code is now attached (adapted from rhandome examples page):
编辑:根据@hveig和@Munawir的评论,现在附加了一段工作示例代码(改编自rhandome示例页面):
library(shiny)
library(rhandsontable)
shinyApp(
shinyUI(
fluidRow(
rHandsontableOutput("hot")
)),
shinyServer(function(input, output, session) {
values = reactiveValues()
data = reactive({
if (!is.null(input$hot)) {
DF = hot_to_r(input$hot)
} else {
if (is.null(values[["DF"]]))
DF = mtcars
else
DF = values[["DF"]]
}
values[["DF"]] = DF
DF
})
output$hot <- renderRHandsontable({
DF = data()
if (!is.null(DF))
rhandsontable(DF, stretchH = "all")
})
})
)
#1
11
Apart from DT prototype proposed by @dracodoc, another option is using rhandsontable package.
除了@dracodoc提出的DT原型之外,另一种选择是使用rhandsontable包。
EDIT: according to comments by @hveig and @Munawir, a piece of working example code is now attached (adapted from rhandome examples page):
编辑:根据@hveig和@Munawir的评论,现在附加了一段工作示例代码(改编自rhandome示例页面):
library(shiny)
library(rhandsontable)
shinyApp(
shinyUI(
fluidRow(
rHandsontableOutput("hot")
)),
shinyServer(function(input, output, session) {
values = reactiveValues()
data = reactive({
if (!is.null(input$hot)) {
DF = hot_to_r(input$hot)
} else {
if (is.null(values[["DF"]]))
DF = mtcars
else
DF = values[["DF"]]
}
values[["DF"]] = DF
DF
})
output$hot <- renderRHandsontable({
DF = data()
if (!is.null(DF))
rhandsontable(DF, stretchH = "all")
})
})
)