Adding data to Matlab GUI Table from a listbox

I have a Matlab table taking different type of input from user. Is there any way I can drag a single variable from a displayed listbox into the current active cell?
If not, can I "Add" a button to my interface, which when clicked, will populate the current cell with selected variable from the list box?

 Risposta accettata

It can be done as Amardeep suggested. But I think adding a push button is better as it avoids accidental operation when clicking on the table.
In the uitable CellSelectionCallback, you need to save the indices of the selected cell
setappdata(hObject,'CurrentCell',eventdata.Indices);
In the push button callback, you need to read the list box and then assign the new value. The following code assumes the uitable contains cell data and all columns are editable.
Indices=getappdata(handles.uitable1,'CurrentCell');
Data=get(handles.uitable1,'Data');
List=get(handles.listbox1,'string');
NewData=List{get(handles.listbox1,'value')};
Data{Indices(1),Indices(2)}=NewData;
set(handles.uitable1,'Data',Data);

2 Commenti

Hi, How can i put the entire columns' data of the gui table to a listbox using a push button.
I got the answer after some digging.

Accedi per commentare.

Più risposte (2)

Amardeep
Amardeep il 26 Ott 2011
under the cell selection callback for the GUI table you can get the value from the listbox using the handles structure for the listbox.
Jayesh Kavathe
Jayesh Kavathe il 26 Ott 2011
Perfect. I am a totally GUI newbie and still I was able to get it working. Appreciate for your time and exact code. :)
I am using the "Push" Button.

Categorie

Scopri di più su Migrate GUIDE Apps in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by