Displaying 2D cell arrays in GUIDE Edit Text box

4 visualizzazioni (ultimi 30 giorni)
Hi All
Have been browsing and I don't see an answer - should be a simple (I think)
I want to display my 2D cell array in my GUI Edit Text box in a similar way it would appear when you display it on the command line i.e. disp({1 2 3;'a' 'b' 'c';6 7 9}).
My multiline Edit Text box works fine for a numeric array, by using
set(handles.texteditbox,'String',num2str([1 2 3;4 5 6;6 7 9])). The shape of the array is preserved in the Text Edit box.
However, if I use a cell array by doing:
set(handles.texteditbox,'String',{1 2 3;'a' 'b' 'c';6 7 9}))
Then the array is displayed in one long column vector, column by column from the original array.
How do I preserve the shape of the cell array in the Edit Text Box?
Thanks!

Risposta accettata

Image Analyst
Image Analyst il 1 Ott 2017
Why not use a uitable, then display it?
ca = {1 2 3;'a' 'b' 'c';6 7 9}; % Create cell array
handles.uitable1.Data = ca;
  1 Commento
Jurgens Wolfaardt
Jurgens Wolfaardt il 1 Ott 2017
Haven't tried that (actually have never used tables before...). Looks like a good idea!

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 1 Ott 2017
You can evalc() the disp, capture the result, cellstr() it, and set that as your String property on your multiline uicontrol style text (or style edit)
  1 Commento
Jurgens Wolfaardt
Jurgens Wolfaardt il 1 Ott 2017
Thanks Walter - I learned a lot from your reply. I just like the look/control of the table!

Accedi per commentare.

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by