How to select/highlight a cell in the uitable automatically? Thank you.

Hi,
I am working on part of my project, which the code update the output automatically if user chooses some cell in the uitable:
suppose we have a 2 rows * 1 column in the uitable like the following:
A
B
In my projects, A and B correspond to different outputs: they plot different curves in the same axis. What I want to do is that:
1, when user chooses A, we plot the curve A in the axes,
2, when user chooses B, we plot the curve B in the axes,
3, if user chooses both A and B, the code would plot the curve A in the axes, and update the uitable with only A selected, ie, we force to choose one cell at one time.
My question is that: in case 3, when users chooses both A and B, how can I update uitable to make only A chosen/hightlighted? I can re-set the uitable, but I don't know to make A to be chosen automatically after I re-set the uitable.
Thank you.
Jon

 Réponse acceptée

Andrew Newell
Andrew Newell le 2 Mai 2011

4 commentaires

The only thing you can do progamatically is emulate that a cell was selected... it won't highlight the cell, merely activate the cells callback for a specific cell if you want your table's cell selection event handler to do something with that specifically.
It's not pretty but it works...
eventdata = struct('Indices',[row col]); % row/col for cell to activate...
uitableMyTable_CellSelectionCallback(handles.uitableMyTable,eventdata,handles); % where uitableMyTable is your uitable tag
it's a pity. Generating a callback cannot affect which cell is highlighted.
Hi,
I have a simillar problem, I want to activate first cell of table([A 1])and show it A1 ina lable component. i tried above code but it didn't worked, how can I solve this problem ?
Thanks for your help.

Connectez-vous pour commenter.

Plus de réponses (1)

For what you are trying to do, a listbox would be a more natural choice.
Here 'Max = 1' is saying that you can only select one at a time.
figure
uicontrol('style','listbox','String',{'A' 'B'},'Max',1,'units','n','position',[0 0 .1 1],'background','w')

2 commentaires

And you CAN select listbox entries programatically.
really thank you Teja. I actually have two uitables, each of which has multiple columns, so I gotta use uitables. I used A and B in my question to make it simple.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by