"removeInstance" funktioniert nicht richtig

Fragen und Antworten rund um das Thema JavaScript im LiveCycleDesigner
Antworten
Zatoichi
Beiträge: 5
Registriert: 06.05.2010, 07:43

"removeInstance" funktioniert nicht richtig

Beitrag von Zatoichi » 11.05.2010, 13:01

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


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Zatoichi
Beiträge: 5
Registriert: 06.05.2010, 07:43

"removeInstance" funktioniert nicht richtig

Beitrag von Zatoichi » 11.05.2010, 13:55

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?

Benutzeravatar
FileAffairs
Beiträge: 372
Registriert: 15.09.2008, 20:14

"removeInstance" funktioniert nicht richtig

Beitrag von FileAffairs » 12.05.2010, 10:41

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

Zatoichi
Beiträge: 5
Registriert: 06.05.2010, 07:43

"removeInstance" funktioniert nicht richtig

Beitrag von Zatoichi » 12.05.2010, 14:21

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]

Antworten