I need help with uitable in gui

5 views (last 30 days)
Hamza
Hamza on 28 Apr 2016
Edited: Hamza on 5 May 2016
Hi I need to know how to transfer data between two uitables in MATLAB like this: Select cell from table1 one then click push button then generate new row in table 2 consists data of the selected row in table 1 Also I need to know how I can delete data of selected row in uitable using push button
  2 Comments
Jan
Jan on 28 Apr 2016
What have you tried so far? Which problems occur? If you post your code, we can easily suggest improvements. But when we guess, what you want, it is unlikely, that the suggestions meet your problem accurately enough.
Hamza
Hamza on 30 Apr 2016
I just need to know how

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 4 May 2016
You need to configure a uitable CellSelectionCallback . When the callback fires, the second parameter will be a structure that contains the indices of the cells that are selected. You do not need to act on the information immediately, but you might need to record it for later use.
To get the selected cells after that requires using Java methods that are undocumented by Mathworks and which are being changed. You can find those described at undocumentedmatlab.com
  1 Comment
Hamza
Hamza on 4 May 2016
Edited: Hamza on 5 May 2016
thank you very much i solved it using selection callback
global x
idx = eventdata.Indices;
table = get(hObject,'Data');
x=table(idx(1,1):idx(end,1),idx(1,2):idx(end,2));
then used pushbutton to put value of x into uitable2

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 28 Apr 2016
Try something like this (untested)
% Read both tables
data1 = handles.uitable1.Data;
data2 = handles.uitable2.Data;
% Transfer over data from 1 to 2
data2(row1:row2, col1:col2) = data1(row1:row2, col1:col2);
% Send updated variable back to table 2
handles.uitable2.Data = data2;
  3 Comments
Image Analyst
Image Analyst on 30 Apr 2016
I don't know if there is a property to say what the user has highlighted in the table, if anything. You can check for properties like handles.uitable2.Selection or handles.uitable2.Value or things like that. You can list all properties and methods like this:
properties(handles.uitable1)
methods(handles.uitable1)
Hamza
Hamza on 4 May 2016
Where should I type these commands

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!