diff --git a/R/shiny-ui-base.R b/R/shiny-ui-base.R
index 8f0fa40ca66dcdd138aa9096ccd1479e46d0261a..e4afdc81661f36a3df035e744ae3a7868b529632 100644
--- a/R/shiny-ui-base.R
+++ b/R/shiny-ui-base.R
@@ -332,6 +332,27 @@ dt_drop_callback = function (col_adduct,col_set,sets) DT::JS(c(
                                                               "  ]",
                                                               "});"))
 
+dt_summ_subset_callback = function () DT::JS(c(
+                                              "var tbl = $(table.table().node());",
+                                              "var id = tbl.closest('.datatables').attr('id');",
+                                              "function onUpdate(updatedCell, updatedRow, oldValue) {",
+                                              "  var cellinfo = [{",
+                                              "    row: updatedCell.index().row + 1,",
+                                              "    col: updatedCell.index().column,",
+                                              "    value: updatedCell.data()",
+                                              "  }];",
+                                              "  Shiny.setInputValue(id + '_cell_edit:DT.cellInfo', cellinfo);",
+                                              "}",
+                                              "table.MakeCellsEditable({",
+                                              "  onUpdate: onUpdate,",
+                                              "  inputCss: 'my-input-class',",
+                                              "  columns: [1],",
+                                              "  confirmationButton: false,",
+                                              "  inputTypes: [",
+                                              celledit_values('1',SUBSET_VALS),
+                                              "  ]",
+                                              "});"))
+
 
 render_dt <- function(data, server = T) {
     DT::renderDT(data, server = server)
@@ -399,6 +420,8 @@ mk_shinyscreen_server <- function(projects,init) {
     rv_datatab <- reactiveVal(def_datatab)
     rv_flag_datatab <- reactiveVal(-.Machine$integer.max)
 
+    the_summ_subset <- def_summ_subset
+    
     ## Re-definitions.
     PLOT_FEATURES <- shinyscreen:::PLOT_FEATURES
 
@@ -772,11 +795,10 @@ mk_shinyscreen_server <- function(projects,init) {
         })
 
         rf_get_subset <- reactive({
-            input$summ_subset
-            dt <- if (NROW(input$summ_subset)==0) def_summ_subset else rhandsontable::hot_to_r(input$summ_subset)
-            
-            dt[Select == shinyscreen:::SUBSET_VALS[["GOOD"]], extra := T]
-            dt[Select == shinyscreen:::SUBSET_VALS[["BAD"]], extra := F]
+            input$summ_subset_cell_edit
+            dt <- data.table::copy(the_summ_subset)
+            dt[Select == SUBSET_VALS[["GOOD"]], extra := T]
+            dt[Select == SUBSET_VALS[["BAD"]], extra := F]
             sdt <- dt[!is.na(extra)]
             if (NROW(sdt) > 0) {
                 sdt[,paste0(`QA Column`," == ",extra)]
@@ -1174,6 +1196,12 @@ mk_shinyscreen_server <- function(projects,init) {
             
         }, label = "datafiles-edit")
 
+        observeEvent(input$summ_subset_cell_edit,{
+            the_summ_subset <<- DT::editData(the_summ_subset,
+                                             input$summ_subset_cell_edit,
+                                             rownames = F)
+            
+        }, label = "summ_subset-edit")
         observeEvent(input$datatab_cell_edit,{
             z <- DT::editData(rv_datatab(),
                               input$datatab_cell_edit,
@@ -1666,10 +1694,9 @@ mk_shinyscreen_server <- function(projects,init) {
                                          scroller = T))
         })
 
-        output$summ_subset <- rhandsontable::renderRHandsontable({
-            
-
-            rhandsontable::rhandsontable(def_summ_subset)
+        output$summ_subset <- DT::renderDT({
+            input$summ_subset_cell_edit
+            dropdown_dt(the_summ_subset, callback = dt_summ_subset_callback())
         })
 
         output$summ_table <- DT::renderDataTable({
diff --git a/inst/rmd/app.Rmd b/inst/rmd/app.Rmd
index 1641b422b28b87f83bd49df1f1b952019d82eceb..651638dfa3fc1dd248abbf068127b4d6e7246605 100644
--- a/inst/rmd/app.Rmd
+++ b/inst/rmd/app.Rmd
@@ -260,7 +260,6 @@ exists, otherwise _adduct_ column is ignored).
 
 ```{r, echo=F}
 DT::DTOutput("datatab",width="25%")
-## rhandsontable::rHandsontableOutput("datatab")
 ```
 
 
@@ -432,7 +431,7 @@ Values:
 </details>
 ```{r, echo=F}
 
-rhandsontable::rHandsontableOutput("summ_subset")
+DT::DTOutput("summ_subset")
 
 ```
 </div>