Info

This question is closed. Reopen it to edit or answer.

Stop uitable from appending to cell when you type

1 view (last 30 days)
Jeremy
Jeremy on 17 Jul 2019
Closed: MATLAB Answer Bot on 20 Aug 2021
In uitable with a table as data, if you single click a cell and start typing, it will append to the existing extry with what you type. Any idea how I can get it to behave like Excel, where you single click a cell, start typing, it will replace what was there with what you type?
f = uifigure;
tData = table(0, 0, 0);
uit = uitable(f, 'Data', tData, 'ColumnEditable', [true true true]);

Answers (1)

Walter Roberson
Walter Roberson on 17 Jul 2019
Use the uitable cell selection callback. When the callback fires, look at the position indicated in the event data, and set that entry to be empty -- so clicking on an entry erases the entry, leaving you positioned to type in new content.
Note that this requires that the entries are all character and not numeric, as you cannot set a numeric entry to pure whitespace with this technique.
  1 Comment
Jeremy
Jeremy on 17 Jul 2019
I tried that approach, and it does work to be able to replace the entry with a single click. Unfortunately it doesn’t leave open the possibility of editing the current contents rather than replace it. Ideally, typing over a single click on the cell will replace the current cell contents, but I’d like to still be able to double click on the cell and edit what’s already there, like Excel. Not sure how to go about that, though.

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!