Seite 1 von 1
"removeInstance" funktioniert nicht richtig
Verfasst: 11.05.2010, 13:01
von Zatoichi
Hallo!
Ich habe eine Frage zu dem JavaScript im LCD:
_Zeile1.removeInstance(this.parent.index);
Mit diesem Befehl soll die ausgewählte Zeile aus einer dynamischen Tabelle entfernt werden, was auch in allen Beispielen funktioniert. Nur bei mir klappt es nicht.
Außerdem würde ich gerne beim initialisieren neuer Zeilen die Werte der Vorzeile übergeben. Leider habe ich im Moment absolut keine Idee, wie ich die Werte der letzten Instanz auslesen und in die Neue übergeben kann. Gibts dazu vielleicht irgendwo ein Code-Beispiel?
Gruß,
Zatoichi
"removeInstance" funktioniert nicht richtig
Verfasst: 11.05.2010, 13:55
von Zatoichi
mh ok mit parent.parent.index klappt das ganze dann doch
Bei dem Ansprechen der Instanzen bin ich allerdings weiterhin ratlos.
Wie kann ich zum Beispiel sagen, dass der Wert aus dem Feld "Textfeld1" der dritten Instanz zurückgegeben werden soll?
"removeInstance" funktioniert nicht richtig
Verfasst: 12.05.2010, 10:41
von FileAffairs
Hallo Zatoichi,
nehmen wir mal an das Dein Textfeld1 in einem Subformular Subform steckt und es davon mehrere Instanzen gibt dann kannst Du die dritte Instanz ansprechen mit
Code: Alles auswählen
// Objekt mit Referenz auf 3. Instanz
var oNode = xfa.resolveNode("Subform[2].TextFeld1");
// rawValue Eigenschaft neu belegen
oNode.rawValue = "Neuer Wert";
Gruß
Maruan Sahyoun | fileaffairs.de
"removeInstance" funktioniert nicht richtig
Verfasst: 12.05.2010, 14:21
von Zatoichi
Hallo FileAffairs,
danke für die Antwort. Der Code funktioniert so und hilft mir auf jedem Fall, ein wenig Gesamtverständnis über JavaScript zu gewinnen.
Realisieren wollte ich damit, dass bei dem Erstellen neuer Zeilen die Werte der Vorzeile zunächst übergeben(und bei Bedarf überschrieben) werden.
Ich nehme an, dass man bei dieser Vorgehensweise keine Variablen verwenden kann, womit er für meine Problemstellung eher nicht geeignet ist (zumindest auf den ersten Blick).
mit diesem Code konnte ich das ganze allerdings lösen:
Code: Alles auswählen
----- Formular1.#subform[0].Tabelle1.Zeile1.gr::initialize: - (FormCalc, Client) -------------------
var i = xfa.form.Formular1.Tabelle1.Zeile1.instanceManager.count - 2
if (i >= 0) then
this.rawValue = xfa.form.Formular1.Tabelle1.Zeile1[i].gr.rawValue
endif
[i][i][i][i][i][i]
Gruß,
Zatoichi
[i][i][i]
[/i][/i][/i][/i][/i][/i][/i][/i][/i]