• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2010, 10:07   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 108
Endgültige Breite einer AdvancedDataGrid

Hallo,

kann mir jemand sagen, wann die endgültige Breite einer AdvancedDataGrid feststeht? Ich habe schon mit creationComplete, measure, measuredWidth und und und herumgespielt, aber bis jetzt ohne Erfolg.
Der Hintergrund ist folgender. Ich erzeuge eine Tabelle mit ein paar Spalten. Anschließend werden die Breiten der Spalten dynamisch angepasst. Diese Tabelle selbst befindet sich dann in einem Panel, welches ohne Größenangaben erzeugt wird, damit es sich automatisch an die richtige Größe anpasst. Da in solch einem Panel viele Komponenten liegen können und deren Größen teilweise erst feststehen, wenn sie sich mit Daten aus einer Webservice-Schnittstelle versorgt haben ist das Panel anfangs nicht sichtbar. Erst wenn alle Elemente im Dialog zurückgemeldet haben, dass ihre Breite feststeht, wird der das Panel sichtbar gemacht (Hintergrund ist, dass das Panel nicht wild hin und her "zappeln" soll). Und bevor das Panel sichtbar gemacht wird wird noch geprüft, ob es eine bestimmte Breite überschreitet und wenn ja, dann wird es explizit auf diese Breite gesetzt. Das ganze funktioniert soweit auch, bis auf eben die Tabelle. Mal stimmt die Breite des Panels/Tabelle, mal ist sie noch zu schmal und wird dann "irgendwann später breiter".
Ich bin jetzt ein wenig ratlos, zumal man sich den Code der AdvancedDataGrid auch nicht anschauen kann.

Danke
Szdnez ist offline   Mit Zitat antworten
Alt 11-03-2010, 10:14   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Hast du mal den FlexEvent.UPDATE_COMPLETE registriert und debugged? Das sollte funktionieren.
Omega Psi ist offline   Mit Zitat antworten
Alt 11-03-2010, 11:30   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 108
Stimmt, updateComplete hatte ich bisher unterschlagen, hilft aber auch nichts. Es ist ein wenig zum verrückt werden. Ich lasse mir die Breite des Panels geben
ActionScript:
  1. var width:Number = dialog.measuredWidth;
Dann steht in width bspw. 1.200. Halte ich an dieser Stelle den Debugger an und schaue mir die Properties an, so steht in measuredWidth z.B. 1.700, in width steht dennoch eine 1.200.
Ich gebe jetzt erstmal auf und widme mich anderen Dingen. Aber anderweitige Vorschläge sind dennoch gerne gesehen
Szdnez ist offline   Mit Zitat antworten
Alt 11-03-2010, 11:47   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
Was sagt getExplicitOrMeasuredWidth?
Omega Psi ist offline   Mit Zitat antworten
Alt 11-03-2010, 14:01   #5 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 108
explicitWidth ist NaN, so dass ich wieder den Wert von measuredWidth bekomme. Ich werde bei Gelegenheit mal versuchen die Spaltenbreiten anders zu setzen. Ich vermute mal, dass es irgendwie damit zusammen hängt.
Szdnez ist offline   Mit Zitat antworten
Alt 11-03-2010, 15:41   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 11.856
measuredWidth/-Height geben die default Werte zurück. Wenn du die Dimensionen nicht explizit setzt ist explicit* Nan.
Omega Psi ist offline   Mit Zitat antworten
Alt 11-03-2010, 15:54   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 108
Aber genau das will ich ja. Ich möchte die Breite nicht explizit setzen. Ich will nur prüfen, ob die endgültige Breite des Panel die Breite des Players überschreitet und nur wenn das der Fall ist, die Breite des Panels auf die des Players setzen.
Szdnez ist offline   Mit Zitat antworten
Alt 12-03-2010, 15:38   #8 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 108
Ich weiß nicht, warum ich bisher nicht daran gedacht habe, aber ich kann ja auch einfach die maxWidth im Panel setzen. Das ganze funktioniert auch wunderbar, bis auf einen Schönheitsfehler. Durch die Breitenbeschränkung kommt es dann natürlich manchmal dazu, dass ein horizontaler Scrollbalken eingefügt wird. Allerdings wird das bei der Höhenberechnung des Panels nicht berücksichtigt, so dass auch noch ein vertikaler Scrollbalken erscheint. Weiß jemand, wie ich das ändern kann? Ich würde jetzt ungern dauerhaft die Scrollbalken für alle Dialog einschalten wollen.
Szdnez ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Wie ändert man die Breite einer ScrollBar innerhalb einer ScrollPane derRaab ActionScript 3 14 22-02-2010 11:24
Scrollen in einer Zelle im AdvancedDataGrid verbieten dan-b Flex programmieren 1 16-01-2009 13:47
AdvancedDataGrid-Sortierung dreht sich bei Verwendung einer GroupingCollection um Killerkarpfen Flex programmieren 0 07-05-2008 11:18
Breite einer SWF dynamisch? Aule Web-Editoren 5 30-01-2006 18:48
Breite einer Tabelle siflu HTML und CSS 6 20-05-2004 13:11


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele