Wie fügt man in einer MATLAB App eine neue Zeile in eine Tabelle ein?

Melden
  1. Grundlagen der UITable in MATLAB Apps
  2. Die Daten der Tabelle auslesen und modifizieren
  3. Konkretes Beispiel für das Hinzufügen einer Zeile
  4. Varianten je nach Tabellentyp
  5. Zusammenfassung

In MATLAB Apps, die mit App Designer erstellt wurden, gibt es häufig die Notwendigkeit, einer bestehenden Tabelle (UITable) dynamisch eine neue Zeile hinzuzufügen. Das kann beispielsweise dann sinnvoll sein, wenn der Benutzer Daten eingeben oder neue Informationen in der App anzeigen möchte. Im Folgenden wird ausführlich erläutert, wie man dies innerhalb einer MATLAB App umsetzt.

Grundlagen der UITable in MATLAB Apps

Eine UITable in MATLAB ist ein grafisches Steuerelement, das Daten in tabellarischer Form darstellt. In App Designer wird eine UITable üblicherweise über die Komponentenpalette hinzugefügt und erhält einen Namen, beispielsweise app.UITable. Die Tabelle enthält eine Eigenschaft Data, welche die angezeigten Daten enthält. Diese Daten können ein Zell-Array, numeric Array oder ein Table-Objekt sein.

Die Daten der Tabelle auslesen und modifizieren

Um eine Zeile hinzuzufügen, muss man zunächst den aktuellen Inhalt der Tabelle auslesen. Dies geschieht üblicherweise durch Zugriff auf app.UITable.Data. Anschließend fügt man die neue Zeile an die vorhandenen Daten an und weist das aktualisierte Datenarray wiederum der Eigenschaft Data der Tabelle zu.

Ein Beispiel: Angenommen, app.UITable.Data ist ein Cell-Array mit mehreren Zeilen und Spalten. Wenn man eine neue Zeile in Form eines Zell-Arrays hinzufügen möchte, kann man das vorhandene Data-Array vertical zusammensetzen.

Konkretes Beispiel für das Hinzufügen einer Zeile

Im Callback einer Schaltfläche, beispielsweise app.ButtonAddRow, kann folgendermaßen vorgegangen werden:

% Aktuelle Daten der Tabelle auslesencurrentData = app.UITable.Data;% Neue Zeile definieren (hier exemplarisch als Zell-Array)newRow = {Neuer Wert 1, 123, true};% Prüfen ob currentData leer istif isempty(currentData) % Falls die Tabelle leer ist, wird die neue Zeile als erstes Data-Element eingesetzt app.UITable.Data = newRow;else % Falls schon Daten vorhanden, wird die neue Zeile angehängt app.UITable.Data = ;end

Diese Vorgehensweise funktioniert gut, wenn die Tabelle mit einem Zell-Array betrieben wird. Bei anderen Datentypen, wie numerischen Arrays oder Tabellenobjekten, muss die Datenstruktur entsprechend angepasst werden.

Varianten je nach Tabellentyp

Wenn die Tabelle beispielsweise ein MATLAB table-Objekt verwendet, sollte man die Daten ebenfalls als table führen. Um eine neue Zeile hinzuzufügen, kann man mit der Funktion vertcat oder einfach durch die Zuweisung der neuen Zeile ans Ende der bestehenden Tabelle arbeiten.

Beispiel:

% Daten als Tabelle auslesencurrentTable = app.UITable.Data;% Neue Zeile als Tabelle definieren mit denselben VariablennewRow = table("Neuer Wert 1", 123, true, VariableNames, currentTable.Properties.VariableNames);% Hinzufügen der neuen Zeileapp.UITable.Data = ;

Zusammenfassung

Das Hinzufügen einer neuen Zeile im MATLAB App UITable ergibt sich aus dem Prinzip, die bestehende Datenstruktur auszulesen, die neue Zeile anzufügen und die Tabelle mit dem erweiterten Datensatz zu aktualisieren. Wichtig ist dabei, den Datentyp der Tabelle zu kennen und entsprechend zu behandeln, sei es ein Zell-Array, numerisches Array oder Tabelle. Dieses Vorgehen ermöglicht eine flexible und dynamische Anpassung der Tabelleninhalte innerhalb einer MATLAB App.

0

Kommentare