Verfasst am: 18.09.2013, 11:14
Titel: Editierbarkeit der Tabelle mit einer Schleife realisieren
Hallo,
ich habe da eine Frage, ich habe über guide eine Tabelle erstellt. In meinem Programm wird in Abhängigkeit von einer eingegeben zahl in einem Editor-Feld (Variable a) die Anzahl der Spalten erstellt und der Spaltenkopf dem entsprechend beschriftet. also gibt man z.B. im Editor Feld eine 2 ein so erscheint eine Tabelle mit festgelegter Anzahl an zeilen und 2 Spalten im Spaltenkopf steht in der ersten Spalte nun Bereich1 und in der zweiten Bereich 2.... bisher habe ich das so realisiert:
Code:
if a>=1
ST = 'Bereich1';
set(handles.tabelle,'ColumnEditable',[true]);
if a>=2
ST = {'Bereich1', 'Bereich2'};
set(handles.tabelle,'ColumnEditable',[truetrue]);
if a>=3
ST = {'Bereich1', 'Bereich2', 'Bereich3'};
set(handles.tabelle,'ColumnEditable',[truetruetrue]);
if a>=4
ST = {'Bereich1', 'Bereich2', 'Bereich3','Bereich4'};
set(handles.tabelle,'ColumnEditable',[truetruetruetrue]);
if a>=5
ST = {'Bereich1', 'Bereich2', 'Bereich3','Bereich4','Bereich5'};
set(handles.tabelle,'ColumnEditable',[truetruetruetruetrue]);
end end end end set(handles.tabelle,'ColumnName',ST);
end
Ich würde dies aber nun gern auf maximal 15 Bereiche ausbauen mit Hilfe einer Schleife. Für die [true]-Matrix geht das glaub so: ein weiteres true anzuhängen, z.B. alt: M=[true,true] >>> neu: M=[M,true].
Bereich1, Bereich2 usw. muss aber in geschweiften Klammern stehen, da habe ich noch nichts gutes gefunden, wie man das schrittweise ergänzen kann.
Geht das überhaupt und wenn ja wie könnte das dann aussehen?
a=15;
ST=cell(1,a);
for k=1:a
ST{k}={['Bereich',num2str(k)]};
end set(handles.tabelle,'ColumnEditable',true(1,a)) set(handles.tabelle,'ColumnName',ST);
Leider funktioniert es nicht das in den Spaltenkopf Bereich1 , Bereich2 usw. geschrieben wird....
ich bekomme folgende Fehlermeldung:
Zitat:
Error using set
Cell array of strings may only contain string and numeric matrices
Error in set_ber5>AnzBer_Callback (line 219)
set(handles.tabelle,'ColumnName',ST);
Error in gui_mainfcn (line 96)
feval(varargin{:});
Error in set_ber5 (line 43)
gui_mainfcn(gui_State, varargin{:});
Error in
@(hObject,eventdata)set_ber5('AnzBer_Callback',hObject,eventdata,guidata(hObject))
Error using waitfor
Error while evaluating uicontrol Callback
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.