Question: So for the program I'm writing I have an overview of notes the user created. This I created with `TextBox`es that are generated from database values. I want the user to not be able to enter and change anything in this overview.  

I tried to use `tb.ReadOnly = true;` but this doesn't disable the entering of the textbox.  

After that I tried `tb.Enabled = false;` but this applies a gray out to all the text.

Is there any way to remove this gray out or just make the `TextBox` unchangeable without any visual difference?

Answer: 
Another `tidyverse` approach: Last 2 lines same as @deschen:

Main challenge is to group for summing. Here we use a combination of `coalesce`, `str_extract` and `parse_number` to group:

```
library(tidyverse)

input_data %>% 
  group_by(id = coalesce(parse_number(str_extract(x_data, '\\d+\\.'))+1, x_data)) %>% 
  summarise(sum = sum(y_data)) %>% 
  mutate(cumsum_ydata = cumsum(sum))

```

```
      id    sum cumsum_ydata
   <dbl>  <dbl>        <dbl>
 1     2  0.874        0.874
 2     3 49.2         50.1  
 3     4 48.7         98.8  
 4     5 45.0        144.   
 5     6 48.2        192.   
 6     7 49.1        241.   
 7     8 47.4        289.   
 8     9 46.1        335.   
 9    10 50.8        385.   
10    11 51.1        437.   
# ... with 154 more rows

```
This is what I came up with:

```
x_steps <- seq(2, 5, 1)
final_data <-  tibble(x_steps)
final_data <- final_data  %>% mutate(id=cut(x_steps, breaks=c(-Inf, x_steps), labels=seq(2, 5, 1)))

x_data <- seq(2, 5, 0.2) # this is really read in from a file
y_data <- runif(length(x_data)) # this is really read in from a file
input_data <- tibble(x_data, y_data)

final_data <- input_data %>% 
  mutate(id=cut(x_data, breaks=c(-Inf, x_steps), labels=seq(2, 5, 1))) %>% 
  group_by(id) %>% 
  summarise(totals=sum(y_data)) %>% 
  mutate(csum = cumsum(totals)) %>% 
  select(c("id", "csum")) %>% 
  right_join(final_data, by="id") %>% 
  relocate(x_steps)

```

I stuck with the explicit ID column, as I wanted to join it back to the `final_data` tibble, along with other calculations.

Part my own deductions, part taking from @deschen