uitable autofill without cursor jumping to cell (1,1)

3 views (last 30 days)
Mikkel Ibsen
Mikkel Ibsen on 15 May 2018
Commented: Mikkel Ibsen on 18 May 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 Comments
Mikkel Ibsen
Mikkel Ibsen on 15 May 2018
What I'm trying to build is a program that uses layer depths. So the user only enters the end depth of the layers, where the program den automaticity shows the user that the previous layers end depth, is also the same as the new layers starting depth.
When I say and so on, is because the matrix could have 1 to 100 rows, where it should do the same thing, cell(1,2) = cell(2,1) ; cell(2,2) = cell(3,1) ; cell(3,2) = cell(4,1)... and so on..
I just want a code where when you enter a number in cell(1,2) the number also shows in cell(2,1) and where the cursor then doesnt jump to cell(1,1) because you "refreshed" the table.

Sign in to comment.

Accepted Answer

Jan
Jan on 15 May 2018
Edited: Jan on 18 May 2018
[EDITED] Code suggested in this thread:
jUIScrollPane = findjobj(handles.uitableHandle);
jUITable = jUIScrollPane.getViewport.getView;
jUITable.changeSelection(row-1, col-1, false, false);
  5 Comments
Mikkel Ibsen
Mikkel Ibsen on 18 May 2018
Hi Jan
You were right, I made it work using your commands, and now I can even make different codes to force the "cursor" to jump to the next cell automatically. Thx

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!