Zurück   Flashforum > Flash > Flash erweitern > Komponenten und SmartClips

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-03-2009, 12:29   #1 (permalink)
dr monk
Gast
 
Beiträge: n/a
Question Kurze Frage zum Erweitern von ComboBoxen durch XML

Servus.

Ich stehe mal wieder auf dem Schlauch.

Diesmal geht es um eine ComboBox die mit werten aus einer XML Datei gefüttert werden.

Der Code für die einbindung der XML funktioniert (wenn ich z.b. mir per Trace die werte ausgeben lassen)

Mein problem ist das hinzufügen von Items in der ComboBox. Ich arbeite mit dataProvider und dementsprechend nimmt er mir nur das letzte Element:

PHP-Code:
for (var 0i<XMLdaten_name.lengthi++) {
     
auswahl.dataProvider = [{data:XMLdaten_daten[i], label:XMLdaten_name[i]}];

auswahl ist meine bestehende ComboBox (per Komponenten in das gleiche Frame (und Ebene) wie der code gezogen.

Wenn man statt "auswahl.dataPro...." trace ("test"); benutzt wird es richtig ausgegeben.

Mit addItem habe ich jetzt 2 std. alles mögliche getestet -> ohne Erfolg.

Kann mir einer sagen wo ich diesen Befehl unterbrignen muss, damit ich je nach anzahl meiner Einträge in der XML, die Box füllen kann?
  Mit Zitat antworten
Alt 17-03-2009, 12:32   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Schau dir mal addItem an.
  Mit Zitat antworten
Alt 17-03-2009, 12:39   #3 (permalink)
dr monk
Gast
 
Beiträge: n/a
Wie geschrieben habe ich mich mit addItem 2 Stunden beschäftigt. Nur ich wenn ich etwas wie

PHP-Code:
for (var 0i<XMLdaten_name.lengthi++) {
     
auswahl.addItem = ({data:XMLdaten_daten[i], label:XMLdaten_name[i]});

mache geht nichts.
  Mit Zitat antworten
Alt 17-03-2009, 12:43   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wie geschrieben habe ich mich mit addItem 2 Stunden beschäftigt
Upps...

PHP-Code:
var item1 = {label"Beispiel1"};
//oder
var item1 = {label"Beispiel1"data7.25};
myComboBox.addItem(item1); 

Geändert von agedoubleju (17-03-2009 um 12:45 Uhr)
  Mit Zitat antworten
Alt 17-03-2009, 13:08   #5 (permalink)
dr monk
Gast
 
Beiträge: n/a
ahh jetzt ja. Es fließt wieder Wasser durch den schlauch

Code funktioniert:

PHP-Code:
for (var 0i<XMLdaten_name.lengthi++) {
     var 
item1 = {label:XMLdaten_name[i], data:XMLdaten_daten[i]};
     
auswahl.addItem(item1);

Dann kann ich mal wieder weiter arbeiten - Danke!

-----------

Noch eine weiterführende Frage: Wie kann man ermitteln welches Item dann ausgewählt wurde (0....n).
Ich möchte die folgenden ComboBoxen dann statt mit [i] z.B. mit [4] ansprechen (wenn man in der vorherigen Liste Item Nr5 gewählt hat).

Oder sollte man das generell anders angehen?

Geändert von dr monk (17-03-2009 um 13:20 Uhr) Grund: Um eine Frage erweitert
  Mit Zitat antworten
Alt 17-03-2009, 13:36   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wie kann man ermitteln welches Item dann ausgewählt wurde
Über einen change-Listener. Schau mal in die Sufu, hab ich hier schon mehrfach beschrieben...
  Mit Zitat antworten
Alt 17-03-2009, 13:46   #7 (permalink)
dr monk
Gast
 
Beiträge: n/a
Change listener wird schon benutzt. Ich benutze die SuFu meistens bevor ich frage und poste nur dann, wenn ich nichts finde / ich mit dem gefundenen nicht klar komme.

Das problem ist nicht die Inhalte in abhängigkeit zu der vorrausgehenden Auswahl zu machen sondern vielmehr das Kriterium nach dem der Inhalt geladen werden soll.

Wenn ich

PHP-Code:
meinListener.change = function (evt_obj:Object) {
    if (
evt_obj.target.selectedItem.data == XMLdaten_daten[0]) {
       
trace ("irgendwas");
    }

schreibe muss ich das ja für jede Auswahlmöglichkeit einzelnd machen?!
Wenn ich die position des zuvor ausgewählten Items wüsste könnte ich den in eine Variable schreiben und dann in die If-Abfrage einbauen?! Das würde den Code doch etwas übersichtlicher machen?!

(Ich hab aber eh noch ein paar probleme mit den Aufbau der XML, da manche Objekte mehrere Auswahlmöglichkeiten bieten als andere. Aber darum kümmer ich mich wenn es soweit ist )
  Mit Zitat antworten
Alt 17-03-2009, 16:58   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wenn ich die position des zuvor ausgewählten Items wüsste
Die weisst du doch: combox.selectedIndex gibt dir die Zeilennummer...
  Mit Zitat antworten
Alt 17-03-2009, 18:08   #9 (permalink)
dr monk
Gast
 
Beiträge: n/a
Thumbs up

Ich freu mir Keks. Hab dadurch jetzt die Hälfte weniger an Code.

Dank dir agedoubleju kann ich jetzt weiter machen. Ich denke, dass ich mit dem thema hier fertig bin
  Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
additem, combobox, dataprovider

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 aus.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 11:17 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele