Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-10-2011, 17:26   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Hallo Zusammen,

ich bin ein neuling hier. Bräuchte von den Profis ein kleine Hilfe für folgende Situation:

Ich möchte gerne mit Flash Builder 4.5 vier untereinander gelistete Dropdown Listen haben. Sobald der user seine auswahl bei allen vier Dropdowns vorgenommen hat soll unten das Resultat daraus ausgegeben werden. Z.B. 1.Dropdown Liste Produkt A 2.Dropdown Liste Zutat A 3.Dropdown Liste Zutat B 4.Dropdown Liste Zutat C. Sobald der user jedoch eine Änderung vorgenommen hat, soll selbstverständlich unten das Ergebnis sich akualisieren. Ich stehe genau hier auf der Leitung! Die Dropdowns ist soweit kein Problem, jedoch sobald ich die Werte ausgewählt habe weiss ich nicht weiter?!

Es wäre super nett wenn mir jemand dabei weiter helfen könnte.

Viele Grüße

supersonic78
supersonic78 ist offline   Mit Zitat antworten
Alt 10-10-2011, 18:17   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
Woran hakt es genau?
Omega Psi ist offline   Mit Zitat antworten
Alt 11-10-2011, 00:48   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Hallo,

also ich habe in Flash Builder 4.5 insgesamt 4 Dropdown Listen untereinander gestellt. Ich möchte gerne bei allen eine Auswahl treffen. Daraufhin hätte ich gerne ein Ergebnis unter angezeigt. D.h. ich möchte gerne, dass Flash Builder 4.5 mir das Ergebnis daraus unten anzeigt.

Vielleicht hift der Code hier weiter:

PHP-Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- [url=http://blog.flexexamples.com/2009/03/07/using-the-dropdownlist-in-flex-gumbo/]Using the DropDownList in Flex 4 | Flex Examples[/url] -->
<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"
               width="598" height="928" name="Spark_DropDownList_test">
    <s:layout>
        <s:BasicLayout />
    </s:layout>    
    <s:DropDownList id="rolle" top="280" width="410" fontSize="36" horizontalCenter="10"
                    requireSelection="true">
        <s:dataProvider>
            <s:ArrayList source="[Bitte wählen, 20-2 / 040, 25-2 / 045, 30-3 / 045, 30-2 / 040, 35-3 / 045, 25-2 / 032]" />
        </s:dataProvider>
    </s:DropDownList>
    <s:DropDownList id="platte1" top="400" width="410" fontSize="36" horizontalCenter="10"
                    requireSelection="true">
        <s:dataProvider>
            <s:ArrayList source="[Bitte wählen, 20mm 040, 20mm 035, 20mm 025, 30mm 040, 30mm 035, 30mm 025, 40mm 040, 40mm 035, 40mm 025, 50mm 040, 50mm 035, 50mm 025, 60mm 040, 60mm 035, 60mm 025]" />
        </s:dataProvider>
    </s:DropDownList>
    <s:Label x="105" y="243" fontSize="36" text="Verbundrolle:"/>
    <s:Label x="104" y="358" fontSize="36" text="Dämmplatte I:"/>
    <s:DropDownList id="platte2" top="520" width="410" fontSize="36" horizontalCenter="10"
                    requireSelection="true">
        <s:dataProvider>
            <s:ArrayList source="[Bitte wählen, 20mm 040, 20mm 035, 20mm 025, 30mm 040, 30mm 035, 30mm 025, 40mm 040, 40mm 035, 40mm 025, 50mm 040, 50mm 035, 50mm 025, 60mm 040, 60mm 035, 60mm 025]" />
        </s:dataProvider>
    </s:DropDownList>
    <s:Label x="104" y="478" fontSize="36" text="Dämmplatte II:"/>
    <s:DropDownList id="platte3" top="650" width="410" fontSize="36" horizontalCenter="10"
                    requireSelection="true">
        <s:dataProvider>
            <s:ArrayList source="[Bitte wählen, 20mm 040, 20mm 035, 20mm 025, 30mm 040, 30mm 035, 30mm 025, 40mm 040, 40mm 035, 40mm 025, 50mm 040, 50mm 035, 50mm 025, 60mm 040, 60mm 035, 60mm 025]" />
        </s:dataProvider>
    </s:DropDownList>
    <s:Label x="104" y="608" fontSize="36" text="Dämmplatte III:"/>
    <s:Label x="104" y="758" fontSize="36" text="U-Wert:"/>
    <s:Label id="u_wert" x="245" y="758" width="141" height="34"/>
</s:Application>
Hoffe du kannst mir da weiter helfen.

Auf jedenfall vielen Dank im Voraus. Denn ich weiss echt nicht, wie ich da jetzt weiter kommen soll.

Viele Grüße

supersonic78

Geändert von shin10 (11-10-2011 um 00:55 Uhr)
supersonic78 ist offline   Mit Zitat antworten
Alt 11-10-2011, 00:50   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Ich weiss eigentlich was das mit den smilys sein soll. Habe nur den quellcode aus Flash Builder 4.5 heraus kopiert.
supersonic78 ist offline   Mit Zitat antworten
Alt 11-10-2011, 00:56   #5 (permalink)
in the boondocks
 
Benutzerbild von shin10
 
Registriert seit: Feb 2006
Ort: Augsburg
Beiträge: 4.421
Und ab jetzt weißt du hoffentlich auch, was das mit den php tags () soll

mfg

sx
__________________

flintfabrik.de
shin10 ist offline   Mit Zitat antworten
Alt 11-10-2011, 08:43   #6 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
So in etwa?
Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Using the DropDownList in Flex 4 | Flex Examples -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
         width="598" height="928" name="Spark_DropDownList_test"
         initialize="initializeHandler(event)">
  <fx:Script>
    <![CDATA[
    import mx.collections.ArrayList;
    import mx.events.FlexEvent;

    import spark.events.IndexChangeEvent;

    [Bindable]

    private function initializeHandler(event:FlexEvent):void {
      const prompt:String = 'Bitte wählen', selectedIndex:int = -1,
          source:Array = [
            '20mm 040', '20mm 035', '20mm 025', '30mm 040', '30mm 035', '30mm 025',
            '40mm 040', '40mm 035', '40mm 025', '50mm 040', '50mm 035', '50mm 025',
            '60mm 040', '60mm 035', '60mm 025'
          ];

      rolle.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
      rolle.dataProvider = new ArrayList([
        '20-2 / 040', '25-2 / 045', '30-3 / 045', '30-2 / 040', '35-3 / 045', '25-2 / 032'
      ]);
      rolle.prompt = prompt;

      platte1.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
      platte1.dataProvider = new ArrayList(source);
      platte1.prompt = prompt;
      platte1.selectedIndex = selectedIndex;

      platte2.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
      platte2.dataProvider = new ArrayList(source);
      platte2.prompt = prompt;
      platte2.selectedIndex = selectedIndex;

      platte3.dataProvider = new ArrayList(source);
      platte3.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
      platte3.prompt = prompt;
      platte3.selectedIndex = selectedIndex;

//      or, shorter:
//      const dropDownLists:Array = [rolle, platte1, platte2, platte3];
//      dropDownLists.forEach(function(item:DropDownList, index:int, array:Array):void {
//        item.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
//        item.prompt = prompt;
//        item.selectedIndex = selectedIndex;
//      });
    }

    private function dropDownList_changeHandler(event:IndexChangeEvent):void {

      const rolle:String = rolle.selectedItem.toString();
      const platte1:String = platte1.selectedItem.toString();
      const platte2:String = platte2.selectedItem.toString();
      const platte3:String = platte3.selectedItem.toString();

      trace(rolle, platte1, platte2, platte3);

      u_wert.text = rolle + ', ' + platte1 + ', ' + platte2 + ', ' + platte3;
    }
    ]]>
  </fx:Script>

  <s:layout>
    <s:BasicLayout/>
  </s:layout>

  <s:VGroup fontSize="36" horizontalAlign="justify" width="820">
    <s:Label text="Verbundrolle:"/>
    <s:HGroup horizontalAlign="right" >
      <s:DropDownList id="rolle" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte I:"/>
    <s:HGroup horizontalAlign="right" >
      <s:DropDownList id="platte1" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte II:"/>
    <s:HGroup horizontalAlign="right" >
      <s:DropDownList id="platte2" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte III:"/>
    <s:HGroup horizontalAlign="right" >
      <s:DropDownList id="platte3" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:HGroup>
      <s:Label text="U-Wert:"/>
      <s:Label id="u_wert"/>
    </s:HGroup>
  </s:VGroup>

</s:Application>
  1. halte das Markup schlank, maximal einfach Bindings
  2. nutze LayoutContainer
  3. nutze ActionScript für Konfigurationen

Geändert von Omega Psi (11-10-2011 um 08:46 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 11-10-2011, 09:37   #7 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Wow,

du bist wirklich sehr schnell. Vielen Dank für die schnelle Hilfe. Jedoch habe ich mich glaube ich ein wenig umständlich ausgedrückt, sorry.

Das ganze geht schon in die richtige Richtung. Zunächst mal hier eine kleine Übersicht:

Bezeichnung: U-Wert Rolle:
20-2 / 040 0,50
25-2 / 045 0,56
30-3 / 045 0,66
30-2 / 045 0,75
35-3 / 045 0,78
25-2 / 032 0,78

Bezeichnung: U-Wert Platte:
20mm 040 0,50
20mm 035 0,57
20mm 025 0,80
30mm 040 0,75
30mm 035 0,86
30mm 025 1,20
40mm 040 1,00
40mm 035 1,14
40mm 025 1,60
50mm 040 1,25
50mm 035 1,43
50mm 025 2,00
60mm 040 1,50
60mm 035 1,71
60mm 025 2,40

So weit so gut :-)

Das erste Dropdown ist für die Rolle gedacht, die drei folgenden für die Dämmplatte I, II, III. Es kann aber auch sein, dass es keine Dämmplatte II und III gebraucht wird!

Die Formel sieht so aus:
1 / (U-Wert Rolle + U-Wert Platte I + U-Wert Platte II + U-Wert Platte III)

Wie gesagt, unten soll lediglich nur das Ergebnis stehen.

Ich hoffe das es jetzt detaliert genug ist

Viele Grüße

supersonic78
supersonic78 ist offline   Mit Zitat antworten
Alt 11-10-2011, 09:54   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Oh man, dass sieht jetzt aber unübersichtlich aus...

Nur fürs Verständnis:

die mit Komma stehenden Zahlen sind die jeweiligen Werte.

Z.B.
Bezeichnung: 20-2 / 040
U-Wert Rolle: 0,50
supersonic78 ist offline   Mit Zitat antworten
Alt 11-10-2011, 18:56   #9 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
Ich verstehe nicht, wie die Werte addiert werden könnten ...
Omega Psi ist offline   Mit Zitat antworten
Alt 12-10-2011, 07:53   #10 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

So z.B.:
Wenn ich im ersten Dropdown die Rolle 20-2 / 040 auswähle und im zweiten, dritten und im vierten Dropdown jeweils die Platten 20mm 040 auswählen soll er folgengendes ausrechnen:

1 / ( 0,5 + 0,5 + 0,5 + 0,5 ) = 0,5
supersonic78 ist offline   Mit Zitat antworten
Alt 12-10-2011, 07:57   #11 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
Du musst zugeben, dass eine Transferleistung von 20mm 40 -> 0,5 nicht wirklich einfach ist, wenn man nicht weiss, was die Daten bedeuten. Wie werden die Werte umgerechnet?
Omega Psi ist offline   Mit Zitat antworten
Alt 12-10-2011, 08:09   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Um vielleicht das ganze ein wenig abzukürzen, darf ich dir eine mail zukommen lassen? Habe es bereits als Vorlage in Excel gebaut, vielleicht kann man es dort besser sehen. Dazu bräuchte ich kurz mal deine mail adresse.
supersonic78 ist offline   Mit Zitat antworten
Alt 12-10-2011, 08:19   #13 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
Nein, das gilt es im Forum zu klären.
Omega Psi ist offline   Mit Zitat antworten
Alt 12-10-2011, 08:32   #14 (permalink)
Neuer User
 
Registriert seit: Oct 2011
Beiträge: 11
Dynamisches Dropdown Liste

Es muss so einfach wie möglich aufgebaut sein, daher einfache eine Auswahl aus allen vier Dropdowns auswählen und unten kommt das Ergebnis raus. 20mm 40 ist lediglich nur eine Bezeichnung und 0,5 der passende Wert dazu. Also, sobald ich die vier Sachen ausgesucht habe, soll unten die oben benannte Formel zu tragen kommen und ein Ergebnis angezeigt werden. Das ist schon alles. Habe zwar den Aufbau in Flash Builder soweit fertig, ich habe nur Probleme damit, ein Ergebnis mir anzeigen zu lassen. Ich weiß jetzt nicht wie noch einfacher ich es hier beschreiben soll, sorry.
supersonic78 ist offline   Mit Zitat antworten
Alt 12-10-2011, 14:19   #15 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.403
Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Using the DropDownList in Flex 4 | Flex Examples -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
         width="598" height="928" name="Spark_DropDownList_test"
         initialize="initializeHandler(event)">
  <fx:Script>
    <![CDATA[
    import mx.collections.ArrayList;
    import mx.events.FlexEvent;

    import spark.events.IndexChangeEvent;

    [Bindable]

    private function initializeHandler(event:FlexEvent):void {
      const prompt:String = 'Bitte wählen', selectedIndex:int = -1,
          source1:Array = [
            {label:'20-2 / 040', value:.1}, {label:'25-2 / 045', value:.2}, {label:'30-3 / 045', value:.3},
            {label:'30-2 / 040', value:.4}, {label:'35-3 / 045', value:.5}, {label:'25-2 / 032', value:.5}
          ],

          source2:Array = [
            {label:'20mm 040', value:.1}, {label:'20mm 035', value:.2}, {label:'20mm 025', value:.3},
            {label:'30mm 040', value:.4}, {label:'30mm 035', value:.5}, {label:'30mm 025', value:.6},
            {label:'40mm 040', value:.7}, {label:'40mm 035', value:.8}, {label:'40mm 025', value:.9},
            {label:'50mm 040', value:1}, {label:'50mm 035', value:1.1}, {label:'50mm 025', value:1.2},
            {label:'60mm 040', value:1.3}, {label:'60mm 035', value:1.4}, {label:'60mm 025', value:1.5}
          ];

      const dropDownLists:Array = [rolle, platte1, platte2, platte3];

      dropDownLists.forEach(function(item:DropDownList, index:int, array:Array):void {
        item.dataProvider = new ArrayList(item == rolle ? source1 : source2);
        item.addEventListener(IndexChangeEvent.CHANGE, dropDownList_changeHandler);
        item.prompt = prompt;
        item.selectedIndex = selectedIndex;
      });
    }

    private function dropDownList_changeHandler(event:IndexChangeEvent):void {

      const dropDownLists:Array = [rolle, platte1, platte2, platte3],
          values:Array = dropDownLists.map(function(item:DropDownList, index:int, array:Array):* {
            return item && item.selectedItem ? item.selectedItem.value : 0;
          });

      var sum:Number = 0;
      values.forEach(function(item:Number, index:int, array:Array):* {
        sum += item;
      });

      u_wert.text = (1 / sum).toString();
    }
    ]]>
  </fx:Script>

  <s:layout>
    <s:BasicLayout/>
  </s:layout>

  <s:VGroup fontSize="36" horizontalAlign="justify" width="820">
    <s:Label text="Verbundrolle:"/>
    <s:HGroup horizontalAlign="right">
      <s:DropDownList id="rolle" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte I:"/>
    <s:HGroup horizontalAlign="right">
      <s:DropDownList id="platte1" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte II:"/>
    <s:HGroup horizontalAlign="right">
      <s:DropDownList id="platte2" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:Label text="Dämmplatte III:"/>
    <s:HGroup horizontalAlign="right">
      <s:DropDownList id="platte3" requireSelection="true" width="410"/>
    </s:HGroup>

    <s:HGroup>
      <s:Label text="U-Wert:"/>
      <s:Label id="u_wert"/>
    </s:HGroup>
  </s:VGroup>

</s:Application>
Omega Psi ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
dropdown

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
Eintrag aus Dropdown Liste als Grafik palofske Flash Einsteiger 3 14-10-2006 15:42
DropDown Liste erstellen so woe in Flash John 222 Flash MX 2004 2 04-09-2005 18:21
Dropdown-Liste und PHP metrix JavaScript & jQuery 2 16-06-2004 10:05
dropdown liste+variable illon PHP und MySQL 5 26-08-2003 01:34
dynamisches DropDown mit Scrollfunktion dullek Flash 4 und Flash 5 2 19-09-2001 23:25


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

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


Copyright ©1999 – 2014 Marc Thiele