Verfasst am: 25.11.2010, 16:20
Titel: uitable: Breite der ersten Spalte, Textausrichtung etc.
Hallo!
Meine letzte Frage wurde leider nicht beantwortet, dennoch versuche ich es nun nochmal.
(1) Ich habe eine uitable erstellt und es funktioniert auch soweit. In der ersten Spalte ("Namen") habe ich allerdings Text drin und nicht wie gewöhnlich Zahlen. Nun macht er mit die Spaltenbreite jedoch viel zu breit. Links und rechts des breitesten Textes sind mehrere Zentimeter grau. Columnwidth funktioniert erst ab der zweiten Zelle. Gibt es eine andere Möglichkeit?
(2) Wie kann ich die Zelleninhalte ausrichten? Gibt es inzwischen eine andere Lösung außer der Unit-Ausrichtung und der zu aufwändigen Java-Lösung?
(3) Wie kann ich z.B. in die 4. Spalte einen Text (String) schreiben?
Etwa so:
1 2 3 4 5
a 123 345 567 TEXT 423
b 534 534 345 TEXT 534
Bisher lese ich die Datend er Tabelle über eine Matrix ein. Eine Matrix kann jedoch keine Strings enthalten. Eine Zelle kann soweit ich weiss nicht mehrere Dimensionen annehmen, oder?
Manche Beiträge wären mehr Wert, wenn Sie nicht gepostet würden - dann würden sie immerhin niemanden verunsichern!
Um genau zu sein steht keine Antwort auf meine Fragen in der Hilfe. Und schon gar nicht unter 'uitable'. Dort sind 3 Beispiele, ein bisschen Erklärung, das wars. Auch unter 'Uitable Properties' findet sich dazu nichts.
Über Antworten auf meine Fragen würde ich mich sehr freuen. Vielen Dank!!
Verfasst am: 28.11.2010, 22:33
Titel: Re: uitable: Breite der ersten Spalte, Textausrichtung etc.
Hallo itsmi2,
Eupho hat ganz recht: In der Hilfe stehen die benötigten Antworten drin.
Zitat:
Nun macht er mit die Spaltenbreite jedoch viel zu breit.
Siehe 'ColumnWidth' Property. Wenn dies bei Dir nur ab der zweiten Spalte funktioniert, poste doch bitte den entsprechenden Code. Eigentlich funktioniert das nämlich sehr gut.
Zitat:
(2) Wie kann ich die Zelleninhalte ausrichten?
Siehe Hilfe-Text und Eupho's Antwort: Geht nicht.
Zitat:
(3) Wie kann ich z.B. in die 4. Spalte einen Text (String) schreiben? ...
Eine Zelle kann soweit ich weiss nicht mehrere Dimensionen annehmen, oder?
Auch dies kannst Du sehr gut in der Hilfe nachlesen: "help cell".
Aber auch hier hatte Eupho bereits mitgeteilt, dass CELLs mehrdimensional sein können und für Dein Problem benutzt werden müssen.
Ich zumindest sage mal: Danke, Eupho, für die hilfreiche Antwort.
Und: Danke, MathWorks, für die umfassenden Hilfe-Texte.
Dass 'ColumnWidth' nicht für die erste Spalte gilt ist allgemein bekannt (siehe auch andere Foren). Somit steht die Lösung hierfür schonmal nicht in der Dokumentation.
Sehen kann man das an folgendem Beispiel:
Code:
f = figure('Position',[100100300150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
t = uitable('Data',dat,'ColumnName',cnames,...
'Parent',f,'Position',[2020250100]);
set(t, 'ColumnWidth', {100100100100})
Zelleninhalte können sehr wohl einzeln ausgerichtet werden - auch wenn man zur Not auf Java zurückgreifen muss. Damit ist auch diese Frage nicht zufriedenstellend gelöst.
Dennoch, vielen Dank für die Antwort auf meine dritte Frage!
Dass 'ColumnWidth' nicht für die erste Spalte gilt ist allgemein bekannt (siehe auch andere Foren).
"Allgemein bekannt" heißt ja nun nicht, das es auch wirklich stimmt. Bei meinem Matlab 2009a WinXP kann man die ColumnWidth sehr gut setzen, auch für die erste Spalte:
Bei deinem Beispiel setzt er die drei Spalten X-Data, Y-Data und Z-Data auf 40 (Pixel?).
Mit deiner Aussage hast du natürlich Recht. Dennoch glaube ich, dass es wohl bei meiner Problembeschreibung falsch rüberkam. Ich meine die ERSTE Spalte. Also nicht die X-Data Spalte.
Ich meine die ERSTE Spalte. Also nicht die X-Data Spalte.
Ah ja, jetzt habeich es verstanden. Stimmt: Die "Header"-Spalte läßt sich nicht ohne Java-Tricks einstellen.
Schade eigentlich. Es sollte für TMW nicht soo schwierig sein, eine dokumentierte Schnittstelle zu den Java-UITABLE-Objekten zu erstellen. Man muss ja nicht die ganze Arbeit Yair Altman überlassen :-)
Gruß, Jan
Einstellungen und Berechtigungen
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.