WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

uitable: Breite der ersten Spalte, Textausrichtung etc.

 

itsmi2
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.11.10
Wohnort: BW
Version: Matlab R2009b, Simulink 7.4.1
     Beitrag Verfasst am: 25.11.2010, 16:20     Titel: uitable: Breite der ersten Spalte, Textausrichtung etc.
  Antworten mit Zitat      
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?

Vielen Dank und freundliche Grüße
J.
Private Nachricht senden Benutzer-Profile anzeigen


eupho
Forum-Meister

Forum-Meister


Beiträge: 777
Anmeldedatum: 07.01.09
Wohnort: Marburg
Version: R2009b
     Beitrag Verfasst am: 25.11.2010, 17:06     Titel:
  Antworten mit Zitat      
Steht alles sehr ausführlich in der Hilfe!

Siehe unter "uitable"


Einzelne Ausrichtung geht nicht und eine Zelle kann mehrdimensional sein und die benötigst du auch...
Private Nachricht senden Benutzer-Profile anzeigen
 
itsmi2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.11.10
Wohnort: BW
Version: Matlab R2009b, Simulink 7.4.1
     Beitrag Verfasst am: 26.11.2010, 15:00     Titel:
  Antworten mit Zitat      
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!!
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.11.2010, 22:33     Titel: Re: uitable: Breite der ersten Spalte, Textausrichtung etc.
  Antworten mit Zitat      
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.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
itsmi2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.11.10
Wohnort: BW
Version: Matlab R2009b, Simulink 7.4.1
     Beitrag Verfasst am: 29.11.2010, 09:59     Titel:
  Antworten mit Zitat      
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',[100 100 300 150]);
dat = rand(3);
cnames = {'X-Data','Y-Data','Z-Data'};
t = uitable('Data',dat,'ColumnName',cnames,...
            'Parent',f,'Position',[20 20 250 100]);
set(t, 'ColumnWidth', {100 100 100 100})

Er spricht erst die zweite Spalte an.

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!

MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.11.2010, 12:49     Titel:
  Antworten mit Zitat      
Hallo itsmi2,

Zitat:
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:
Code:

t = uitable('Data', rand(3), ...
    'ColumnName', {'X-Data','Y-Data','Z-Data'}, ...
    'ColumnWidth', {40, 40, 40})
 

Was passiert denn bei Deiner Matlabversion für dieses Beispiel?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
itsmi2
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 12.11.10
Wohnort: BW
Version: Matlab R2009b, Simulink 7.4.1
     Beitrag Verfasst am: 29.11.2010, 12:54     Titel:
  Antworten mit Zitat      
Hallo Jan

und vielen Dank für die schnelle Antwort.

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.

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.11.2010, 14:04     Titel:
  Antworten mit Zitat      
Hallo itsmi2,

Zitat:
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
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.