Seite 1 von 2
Relationen
Verfasst: 03.11.2010, 11:12
von merlin80
Hallo zusammen,
in angehangener Datei habe ich versucht zwei Dropdownfelder miteinander zu vergleichen. Dabei darf die Unterauswahl nicht größer als die Hauptauswahl sein.
Sollte es dennoch so sein, habe ich es vorgesehen, dass eine Meldung erscheint.
Nur genau das passiert nicht.
Hat da jemand eine Idee?
Habe ich nur was vergessen oder kann ich nur den Inhalt "dieses Feldes (this.rawValue)" mit einem schon festgelegten Wert vergleichen?
Relationen
Verfasst: 03.11.2010, 11:31
von nele_sonntag
Hallo Merlin80,
also der Debugger sagt schon mal:
Code: Alles auswählen
Auswahl_HA is not defined
1:XFA:Formular1[0]:#subform[0]:Auswahl_HA-Sicherung[1]:change
Auswahl_HA is not defined
1:XFA:Formular1[0]:#subform[0]:Auswahl_HA-Sicherung[1]:change
Ich schaue mal drüber. Bis gleich.
Relationen
Verfasst: 03.11.2010, 11:42
von nele_sonntag
Nun ja.
Du hast ja Einträge in einem DropDown-Menü. Diese werden natürlich als Text (String) erkannt/eingegeben und nicht als Zahl. Insofern kannst Du natürlich nicht mit größer respektive kleiner arbeiten.
LG Mandy
Relationen
Verfasst: 03.11.2010, 12:03
von merlin80
"Du hast ja Einträge in deinem DropDown-Menü"
Was sollte ich denn sonst da haben, wofür ist denn eine solche Liste dann da, wenn nicht für Einträge?
Deshalb dachte ich, dass ich das ganze über 'Elementwerte' löse, da wird doch meinem Text ein eindeutiger Wert, also eine Zahl zugeordnet.
Das mit dem Debugger kann damit zusammenhängen, dass ich die beiden Felder einfach aus dem Originaldokument entnommen habe.
Relationen
Verfasst: 03.11.2010, 12:17
von nele_sonntag
Ja, aber es sind halt KEINE ZAHLEN!! Und bekanntlich kann man mit größer/kleiner NUR ZAHLEN und KEINEN Text vergleichen.
Ach so,aber Du meinst vermutlich die Bindungswerte. Lass mich mal überlegen.
Relationen
Verfasst: 03.11.2010, 12:25
von nele_sonntag
Ich probiere es gerade so, aber irgendwo hakt es grad. Das Skript liegt im CHANGE-Ereignis des zweiten DD.
Code: Alles auswählen
switch(xfa.event.newText)
{
//entspricht ja dem Eintrag "20" im DD 2
case "1":
break;
//entspricht ja dem Eintrag "25" im DD 2
case "2":
if(AHS_1.rawValue==1){xfa.host.messageBox("Die Zählervorsicherung darf nicht größer als die Hauptsicherung sein!","Hinweis",3,0);}
break;
//entspricht ja dem Eintrag "35" im DD 2
case "3":
if(AHS_1.rawValue==1){xfa.host.messageBox("Die Zählervorsicherung darf nicht größer als die Hauptsicherung sein!","Hinweis",3,0);}
break;
}
Bin gerade am Überlegen, ob man die Bindungswerte anders ansprechen muss, als wenn man die DD-Werte ausliest. vermute dort gerade den Fehler.
Relationen
Verfasst: 03.11.2010, 12:44
von merlin80
Aber wenn ich mit Switch - Case arbeiten kann, kann ich auch "if" nehmen.
Unter FormCalc kann ich da sogar Buchstaben miteinander vergleichen, also da SOLLTE das doch mit meinen Zahlen erst recht gehen !?
http://help.adobe.com/de_DE/livecycle/8 ... .97.3.html
Relationen
Verfasst: 03.11.2010, 12:48
von nele_sonntag
Ich habe jetzt mal die Bindung weggenommen, dann funktioniert es zumindest. Müsste man mal die Oberprofis fragen, wie man genau die Bindungswerte anspricht und ob >/< funktioniert.
Code: Alles auswählen
switch(xfa.event.newText)
{
case "20":
break;
case "25":
if(AHS_1.rawValue=="20"){xfa.host.messageBox("Die Zählervorsicherung darf nicht größer als die Hauptsicherung sein!","Hinweis",3,0);}
break;
case "35":
if(AHS_1.rawValue=="20"){xfa.host.messageBox("Die Zählervorsicherung darf nicht größer als die Hauptsicherung sein!","Hinweis",3,0);}
break;
default:
xfa.host.messageBox("Fehler","Hinweis",3,0);
break;
}
Relationen
Verfasst: 03.11.2010, 13:19
von nele_sonntag
Switch Case ist meines Erachtens nach professioneller, da Du hier zur Laufzeit und ohne Verzögerung mit xfa.event.newText den Wert des DD auslesen kannst.
Mit IF funktioniert es nicht korrekt, zumindest bei mir.
Der Link bringt mir leider nichts, da er mich nur zur Startseite von Formcalc führt. Aber wenn es das beschrieben ist, probiere es.
Zahlen vergleichen ist m.E. nach auch etwas anderes als ><. Du kannst ja mal schauen, ob Du etwas findest, wie Du einen String in eine Zahl umwandelst. Die kannst Du definitv vergleichen oder aber, wie man DD-Bindungswert als Zahl anspricht.
Relationen
Verfasst: 03.11.2010, 13:24
von merlin80
Ich dachte du wärst auch einer von denen
Kannst du bitte die PDF noch einmal veröffentlichen?
Weil so recht kann ich das jetzt nicht nachvollziehen.
Aber ich ahne, dass es mit diesem Weg sehr viel Text zu schreiben (kopieren) gibt.
Z.B. bei Auswahl 20 im ober, darf ich ja nur die 20 im unteren auswählen, alles andere wäre ja größer.
Du muss ich ja für jede Eventualität ein "Case" schreiben !?
Ergänzung:
Ja, ich sehe gerade, der Link geht nicht. Der Suchbegriff wäre "Relational".