UItable CellSelectionCallback
24 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Eugene Kogan
il 13 Mag 2011
Modificato: James Ang
il 18 Apr 2016
How do I get the position of a call when I select it in a uitable? I know you can associate a CellSelectionCallback with a table, but what is the property to pull? A similar question two years ago said the proper field is Indices but this doesn't seem to work for me (Note, I am using R2008a). I would be expecting get(t,'Indices') to do the trick for me (t is the table), but such a field isn't recognized.
0 Commenti
Risposta accettata
Walter Roberson
il 13 Mag 2011
The CellSelectionCallback will be passed a minimum of two parameters, the first of which will be the uitable handle, and the second of which is the event data, which people commonly program to be received into the variable named "event". For CellSelectionCallback, event will be a structure which will have one field named "Indices" and it is that you want to look at.
For example,
function GasPricesTable_Selection_CB(src, event)
selected_cells = event.Indices;
5 Commenti
Walter Roberson
il 26 Giu 2011
Not sure, Eugene might simply have Accepted the answer: that bumps it.
James Ang
il 18 Apr 2016
Modificato: James Ang
il 18 Apr 2016
This solves my problem.... maybe it'll help some of you guys..
1) right click on the table, select 'CellSelectionCallback'. An automated function will be generated for you (displayed in the property Inspector - also right click the table to select).
E.g mine is "@(hObject,eventdata)NmodeDataRead_v10('data_uitable_CellSelectionCallback',hObject,eventdata,guidata(hObject))'"
2) This function will be added to your codes.
function data_uitable_CellSelectionCallback(hObject, eventdata, handles)
% hObject handle to data_uitable (see GCBO)
% eventdata structure with the following fields (see MATLAB.UI.CONTROL.TABLE)
% Indices: row and column indices of the cell(s) currently selecteds
% handles structure with handles and user data (see GUIDATA)
% disp(eventdata)
handles.datatable_row = eventdata.Indices(1);
handles.datatable_col = eventdata.Indices(2);
guidata(hObject, handles);
Just add the lines of codes above to get the indices...
hope this helps.
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!