Author: Jason Bryer, Ph.D. Email: jason@bryer.org
Use the devtools
package to install the development version of DTedit
:
devtools::install_github('jbryer/DTedit')
The dtedit_demo
will run a sample shiny
app with to editable data tables.
DTedit
You can download a simple shiny app using DTedit
here: inst/template/app.R
There are three steps to using DTedit
in your shiny application.
my.insert.callback <- function(data, row) { mydata <- rbind(data, mydata) return(mydata) } my.update.callback <- function(data, olddata, row) { mydata[row,] <- data[1,] return(mydata) } my.delete.callback <- function(data, row) { mydata[row,] <- NULL return(mydata) }
Typically these functions would interact with a database. As written here, the data would be lost between shiny sessions.
dtedit_server
object within your server
function.DTedit::dtedit_server( id = 'mycontacts', thedata = mydata, edit.cols = c('name', 'email', 'useR', 'notes'), edit.label.cols = c('Name', 'Email Address', 'Are they an R user?', 'Additional notes'), input.types = c(notes='textAreaInput'), view.cols = c('name', 'email', 'useR'), callback.update = my.update.callback, callback.insert = my.insert.callback, callback.delete = my.delete.callback)
The id
parameter defines the name of the object available to the uiOutput
. The thedata
is a data.frame
for the initial view of the data table. This can be an empty (i.e. no rows) data.frame
. The structure of the data.frame
will define the inputs (e.g. factor
s will be drop down, Date
will use dateInput
, numeric
s will use numericInput
, etc.). There are many other parameters to custom the behavior of dtedit
, see ?dtedit
for the full list.
dtedit_ui
in your UI to display the editable data table.The id
you will pass to dteditui
is the name you passed to the dtedit_server
created on the server side.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4