"therefore it cannot be displayed in the Edit box unless converted into a string (as far as I know)"
Why just guess what MATLAB does, when you can simply read the documentation? It is easy to locate using any internet search engine, and is free to read for everyone. Once you actually take the time to read the documentation you will learn that an edit uicontrol accepts a cell array of strings, and puts the string from each cell on a new line in the edit box. It also tells you that you need to set Max-Min>1 to enable multiline text in an edit box.
A minimal working example of this is:
>> txt = {'a','b'};
>> edh = uicontrol('Style','edit', 'Max',3, 'String',txt);
>>
In any case if you want help on that error message, please edit your question and show us the entire error message, this means all of the red text. The complete error message contains useful information too!
Please also show the output of these commands:
size(materialref)
class(materialref)
iscellstr(materialref)