Stop uitable from appending to cell when you type

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)

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

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.

This question is closed.

Products

Tags

Asked:

on 17 Jul 2019

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!