uitable autofill without cursor jumping to cell (1,1)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Mikkel Ibsen
am 15 Mai 2018
Kommentiert: Mikkel Ibsen
am 18 Mai 2018
Hi
I've made a gui where I have a uitable that should take the users input an paste it into another cell, for example:

What is in cell(1,2) should be pasted into cell(2,1), and cell(2,2) pasted into cell(3,1) and so on.
I've used this answer to write my code.
function uitable1_CellEditCallback(hObject, eventdata, handles)
table = get(handles.uitable1,'data');
Depth_data = table(:,2);
for h = 1:size(table,1)-1
table(h+1,1) = Depth_data(h);
end
set(handles.uitable1,'data',table);
It does what it is supposed to do, but this is where I have an irritating error, when I enter values the cursor or tab jumps to cell(1,1), so I cant just press enter and it jumps to the next cell, how do I fix this? Is there a way to store where the cursor is and then make it jump back to that cell or the next instead of jumping to cell(1,1) all the time?
2 Kommentare
Akzeptierte Antwort
Jan
am 15 Mai 2018
Bearbeitet: Jan
am 18 Mai 2018
Perhaps this helps: https://www.mathworks.com/matlabcentral/answers/348905-programatically-selecting-cells-in-a-uitable
[EDITED] Code suggested in this thread:
jUIScrollPane = findjobj(handles.uitableHandle);
jUITable = jUIScrollPane.getViewport.getView;
jUITable.changeSelection(row-1, col-1, false, false);
5 Kommentare
Jan
am 18 Mai 2018
Is it worth to discuss, if there should be a way, when there is none? Selecting a cell programmatically works using the underlying Java methods and there is no officially supported method to do this in plain Matlab. I think, this code is easy enough to be used - see [EDITED] in my answer.
Be careful with the technical terms:
In the handle (eventdata) i have the "cell"
EventData is a struct. Although handles is a struct also, EventData is not a handle in any way.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!