Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-07-2010, 15:29   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
Fehlerhafte ComboBox

Hallo ich habe ein sehr seltsame Probelm
ich habe ein XMLListCollection die verschiedene Fonts laded und als dataprovider für meine ComboBox dient.

Code:
<mx:ComboBox id="fontList" 
			 width="130" 
			 dataProvider="{myXMLCollection}"
		         themeColor="0x000000"
			 selectedIndex="0"
			 fontFamily="Arial"
			 change="updateTextField( event )"
						 />
Code:
<fonts>
	<font>Arial</font>
	<font>Impact</font>
	<font>Times New Roman</font>
	<font>Georgia</font>
	<font>Verdana</font>
</fonts>
So nun ist ein sehr seltsames Problem. Ich habe ALLE Skins / Styles entfernt aus der kompletten anwendung. ich habe alles was mit styles zu tun hat entfernen lassen, allerdings hat es folgendes Problem nicht gelöst.

wenn ich auf die Box klicke öffnet sie sich. Allerdings steht nichts drinne. Dennoch sind 5 Elemente zur auswahl, die allerdings nicht sichtbar sind ( es müssten ja die 5 schriftarten drinnen stehen) wähle ich eine aus schließt sich das Menü wieder, die Schriftartbezeichnung steht dann auch in der Box als ausgewählt und wird auch auf den Text angewendet. Also muss ja irgendwie ein style auf dem drop down menü liegen der den text weiß oder durchsichtig macht. allerdings habe ich wie gesagt alle styles entfernt. ich hab auch schon den hintergrund der dropdown geändert aber der text scheint nicht weiß zu sein sondern durchsichtig oder komplett weg. Woran könnte dass denn noch liegen?

wäre klasse wenn mir jemand helfen könnte
VIELEN DANK SCHON MAL!!!

Gruß

Geändert von hothead89 (10-07-2010 um 15:32 Uhr)
hothead89 ist offline   Mit Zitat antworten
Alt 11-07-2010, 08:08   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Zum : wie hast du denn alle Stile entfernt? Dann müsstest du nach meinem Verständnis auch keine Skin mir für die ComboBox haben.

Zum anderen: deine "DatenStruktur" ist sehr flach. Für gewöhnlich schaut die ComboBox nach einer label Eigenschaft oder nutzt als Fallback die toString Methode.

Schaue dir mal die labelFunction Eigenschaft der ComboBox an.
Omega Psi ist offline   Mit Zitat antworten
Alt 11-07-2010, 09:27   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
okay also ich habe alle custom skins entfernt und habe mir die LabelFunction angeschaut. ich hab es jetz komplett umgebaut, allerdings habe ich immernoch das gleiche problem wie vorher.
Also das ist mein neuer Codeausschnitt:
Code:
	<mx:Script>
		<![CDATA[
			import mx.utils.StringUtil;
			
			private function comboBox_labelFunc(item:Object):String {
				return StringUtil.substitute("{0} ({1})", item.@name, item.@abbrev);
			}
		]]>
	</mx:Script>
	
	<mx:XMLList id="statesXMLList">
		<state abbrev="AL" name="Alabama" />
		<state abbrev="AK" name="Alaska" />
		<state abbrev="AZ" name="Arizona" />
		<state abbrev="AR" name="Arkansas" />
		<state abbrev="CA" name="California" />
		<state abbrev="CO" name="Colorado" />
		<state abbrev="CT" name="Connecticut" />
	</mx:XMLList>
	
	<mx:ComboBox id="comboBox"
				 prompt="Please select a State..."
				 dataProvider="{statesXMLList}"
				 labelFunction="comboBox_labelFunc" />
wenn ich nun eine neue MXML Datei öffne und diesen einfüge funktioniert es wunderbar. Allerdings nicht in meiner Application?!?! warum...
Vielleicht hab ich irgendwo noch ein Skin importiert der das Zerstört, aber ich hab alle style tags auskommentiert und auch aus der Application raus genommen. Trotzdem geht es nicht. Gibt es da vielleicht noch etwas wo ich sagen kann alle skins/styles entfernen, oder woran kann es noch liegen?

Nochmals danke für die Hilfe!!!!

Gruß
hothead89 ist offline   Mit Zitat antworten
Alt 11-07-2010, 16:47   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Ich hab ehrlich gesagt keinen Schimmer, was du versuchst?!
Code:
<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Script>
        <![CDATA[

        [Bindable]
        var xml:XML = <fonts>
                                 <font>jim</font>
                                 <font>jack</font>
                                 <font>johnny</font>
                             </fonts>;

        private function label_function(object:Object):String
        {
            if (object is XML)
            {
                return object.text();
            }
            return object.toString();
        }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <mx:XMLListCollection id="collection" source="{xml.children()}" />
    </fx:Declarations>

    <mx:ComboBox dataProvider="{collection}" labelFunction="label_function" />

</s:Application>
Omega Psi ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:07   #5 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
mein code is so ähnlich ausser dass ich halt das label etwas anders habe. nichts desto trotz funktioniert dein code auch nicht. das selbe problem wie immer. In der ComboBox selbst steht der Wert drin, allerdings nicht im DropDown Menü. Man kann zwar die verschiedenen Sachen auswählen, allerdings befindet sich darin kein Label. und wenn ich es auswähle, steht es wieder richtig in der Combobox drinne...was sehr seltsam ist?!?!

vorallem wenn ich den code für die Box kopiere und in eine neue application einfüge dann gehts. also muss es irgendwie an skins oder der geleiche liegen aber da ich alles skins entfernt habe und css styles kann es daran ja ebenfalls nicht liegen. Aber an was denn dann...ich komm echt nicht dahinter?!..Vielleicht noch ne idee

Danke nochmals!

Gruß

Edit:
ich habe eine screenshot hochgeladen. diese zeigt mein problem. Es liegt jetz allerdings ein skin auf dieser Box, da das entfernen dessen nicht nutzte. Auf dem zweiten aber dennoch das ohne skin und css
Angehängte Grafiken
Dateityp: jpg dropDownComboBox.jpg (15,3 KB, 1x aufgerufen)
Dateityp: jpg noSkinsAndNoCss.jpg (14,6 KB, 1x aufgerufen)

Geändert von hothead89 (11-07-2010 um 19:18 Uhr)
hothead89 ist offline   Mit Zitat antworten
Alt 11-07-2010, 19:41   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.146
Sorry, ich weiss nicht ws du in deinen Einstellungen umgehauen hast, aber würde mein Code nicht wie erwarten funktionieren hätte ich ihn nicht gepostet.

Ich schätze du hast irgendwo einen ItemRenderer falsch gesetzt. Anbei noch mal die Flex 3 Lösung.
Code:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:Script>
        <![CDATA[

        [Bindable]
        private var _xml:XML = <fonts>
            <font>jim</font>
            <font>jack</font>
            <font>johnny</font>
        </fonts>;

        private function label_function(object:Object):String
        {
            if (object is XML)
            {
                return object.text();
            }
            return object.toString();
        }
        ]]>
    </mx:Script>

    <mx:XMLListCollection id="collection" source="{_xml.children()}" />

    <mx:ComboBox dataProvider="{collection}" labelFunction="label_function" />

</mx:Application>
Und beide Varianten funktionieren.
Omega Psi ist offline   Mit Zitat antworten
Alt 11-07-2010, 22:31   #7 (permalink)
Neuer User
 
Registriert seit: Jul 2009
Beiträge: 152
hmm...
ja der code funst ja auch, habe ja nicht gemeint dass er nicht geht. es war eher gedacht, dass er in meiner anwendung nicht geht und es somit wohl nicht an der combobox liegt sondern an etwas anderem. und ich wusste/weiß ja nicht an was...ich werde wohl mal den code versuchen in eine neue app zu kopieren und schauen woran es genau liegt.

aber danke für die Hilfe!!! Es hat mir zumidest gezeigt woran es nicht liegt
mit itemRenderer hab ich mich noch überhaupt nicht gefasst ( und in meiner App auch nicht angewandt ) und ich weiß auch nicht was ich verstellt hab ^^ wenn ich dass nur wüsste aber eigentlich hab ich an den einstellungen nur ganz am anfang etwas verändert und da ging es auch noch. es war nur auf einmal nicht mehr aus irgendeinen grund den ich wohl noch rausfinden muss...

falls dir/euch noch etwas einfällt bin immer bereit für Neues

Danke
Gruß
hothead89 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
combobox, flex, styles

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
fehlerhafte Darstellung im IE Diamo HTML und CSS 7 27-02-2006 13:19
Fehlerhafte Navigation von SWF Jutta_Kalb Flash 8 2 05-02-2006 16:54
fehlerhafte funkion Jochi ActionScript 1 2 30-10-2005 11:51
Fehlerhafte XML Datei lehmo ActionScript 1 2 14-05-2004 12:44
fehlerhafte darstellung im web anbo Flash 4 und Flash 5 9 14-05-2002 21:05


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:06 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele