removeInstance
removeInstance
Hallo!
Ich möchte ein Teilformular per Schaltfläche duplizieren. Das funktioniert mit addInstance auch anstandslos. Probleme bereitet jedoch das Löschen des eingefügten Teilformulars. Als Anfänger habe ich versucht, nach Handbuch vorzugehen:
Die Löschen-Schaltfläche hat dieses Skript: OS.removeDeutsch(this)
In der Variablen steht:
function removeDeutsch(deutsch)
{
Seite1._Deutsch.removeInstance(deutsch.parent.index);
}
Die Schaltfläche löst auch tatsächlich einen Löschvorgang aus. Leider löscht sie jedoch das falsche Teilformular, das also eigentlich stehen bleiben sollte.
Kann mir da jemand helfen? Danke schon mal!
Robert
Ich möchte ein Teilformular per Schaltfläche duplizieren. Das funktioniert mit addInstance auch anstandslos. Probleme bereitet jedoch das Löschen des eingefügten Teilformulars. Als Anfänger habe ich versucht, nach Handbuch vorzugehen:
Die Löschen-Schaltfläche hat dieses Skript: OS.removeDeutsch(this)
In der Variablen steht:
function removeDeutsch(deutsch)
{
Seite1._Deutsch.removeInstance(deutsch.parent.index);
}
Die Schaltfläche löst auch tatsächlich einen Löschvorgang aus. Leider löscht sie jedoch das falsche Teilformular, das also eigentlich stehen bleiben sollte.
Kann mir da jemand helfen? Danke schon mal!
Robert
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
removeInstance
[fontsize=1]Hallo donbo,[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Habe mir erlaubt Ihre Beispieldatei um folgende Zeilen zu ergänzen:[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]function removeDeutsch(deutsch)[/fontsize]
[fontsize=1]{[/fontsize]
[fontsize=1]var[/fontsize][fontsize=1] Zaehler = Seite1._Deutsch.count;[/fontsize]
[fontsize=1]Seite1._Deutsch.removeInstance(Zaehler -1);[/fontsize]
[fontsize=1]}[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Dies sollte meiner Meinung nach den gewünschten Erfolg haben.[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]gruß,[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Walde[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Habe mir erlaubt Ihre Beispieldatei um folgende Zeilen zu ergänzen:[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]function removeDeutsch(deutsch)[/fontsize]
[fontsize=1]{[/fontsize]
[fontsize=1]var[/fontsize][fontsize=1] Zaehler = Seite1._Deutsch.count;[/fontsize]
[fontsize=1]Seite1._Deutsch.removeInstance(Zaehler -1);[/fontsize]
[fontsize=1]}[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Dies sollte meiner Meinung nach den gewünschten Erfolg haben.[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]gruß,[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Walde[/fontsize]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
removeInstance
Hallo walde!
Vielen Dank für die Ergänzung! Leider löst das das Problem nur teilweise. Wenn man das jeweils zuletzt eingefügte Teilformular löscht, funktioniert das ganz gut. Aber wenn man z.B. zwei Teilformulare hat und dann das erste löschen möchte, verschwindet Nummer 2. Genauso bei drei eingefügten Teilformularen: Löscht man Nummer 3, klappt es. Will man Nummer 1 löschen, verschwindet jedoch Nummer 3. Lässt sich dieses Problem lösen?
Vielen Dank für die Ergänzung! Leider löst das das Problem nur teilweise. Wenn man das jeweils zuletzt eingefügte Teilformular löscht, funktioniert das ganz gut. Aber wenn man z.B. zwei Teilformulare hat und dann das erste löschen möchte, verschwindet Nummer 2. Genauso bei drei eingefügten Teilformularen: Löscht man Nummer 3, klappt es. Will man Nummer 1 löschen, verschwindet jedoch Nummer 3. Lässt sich dieses Problem lösen?
removeInstance
[fontsize=2]Hallo donbo,[/fontsize]
[fontsize=2]Auf ein neues
.[/fontsize]
[fontsize=2]Habe mir wieder erlaubt Ihre Beispieldatei folgendermaßen zu modifizieren.[/fontsize]
[fontsize=2]function[/fontsize][fontsize=2] removeDeutsch(deutsch)[/fontsize]
[fontsize=2]{[/fontsize]
[fontsize=2]var[/fontsize][fontsize=2] Zeahler = deutsch.parent.parent.parent.parent.parent.index;[/fontsize]
[fontsize=2]Seite1._Deutsch.removeInstance(Zeahler);[/fontsize]
[fontsize=2]}[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Gruß,[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Walde[/fontsize]
[fontsize=2]Auf ein neues

[fontsize=2]Habe mir wieder erlaubt Ihre Beispieldatei folgendermaßen zu modifizieren.[/fontsize]
[fontsize=2]function[/fontsize][fontsize=2] removeDeutsch(deutsch)[/fontsize]
[fontsize=2]{[/fontsize]
[fontsize=2]var[/fontsize][fontsize=2] Zeahler = deutsch.parent.parent.parent.parent.parent.index;[/fontsize]
[fontsize=2]Seite1._Deutsch.removeInstance(Zeahler);[/fontsize]
[fontsize=2]}[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Gruß,[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Walde[/fontsize]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
removeInstance
Hallo walde!
Das ist es!!!
Herzlichen Dank! Sie haben mir sehr geholfen!
Als Greenhorn wundere ich mich über die Vielzahl der "parents". Über "parent" heißt es: Gibt das übergeordnete Objekt des aktuellen Objekts zurück. Aber warum brauch ich hier "5 Eltern"? Über eine kurze Erklärung würde ich mich sehr freuen. Wie gesagt: Bin Anfänger...
Viele Grüße
donbo
Das ist es!!!

Als Greenhorn wundere ich mich über die Vielzahl der "parents". Über "parent" heißt es: Gibt das übergeordnete Objekt des aktuellen Objekts zurück. Aber warum brauch ich hier "5 Eltern"? Über eine kurze Erklärung würde ich mich sehr freuen. Wie gesagt: Bin Anfänger...
Viele Grüße
donbo
removeInstance
Hallo donbo,
Das "parent" Objekt beschreibt den Zugriff auf das übergeordnete Objekt des aktuellen Objekts. Weil Ihre "-" Taste ziemlich verschachtelt ist, wird eine relative referenzierung auf Ihr Deutsch Teilformular von dieser aus sehr lang (5x parent).
Die Referenzierung auf das Deutsch Teilformular mit dem "index" Objekt beschreibt den Indexwert in dem sich die "-" Taste befindet. Der Indexwert ist nötig um die richtige Instanz zu entfernen.
Beispiel: Wenn man zum bestehneden Deutsch[0] Teilformular (Indexwert 0) nochmals 2 Instanzen hinzufügt (Indexwert 1 und 2), so ist Ihre "-" Taste in jedem Teilformular vertreten. Durch die Referenzierung beschreiben Sie den Indexwert des Teilformulars, welches entfernt werden soll.
Hätten Sie von vorne rein 4 Deutsch Teilformulare und möchten dann das 3. enfernen, so sollte der Befehl folgendermaßen lauten:
Deutsch.[fontsize=1]removeInstance(2);[/fontsize]
[fontsize=1]Wobei 2 den null basierten Indexwert Ihres 3. Deutsch Teilformulars beschreibt (Deutsch[2]).[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Hoffe, dass es aufschlußreich war.[/fontsize]
gruß,
Walde
Das "parent" Objekt beschreibt den Zugriff auf das übergeordnete Objekt des aktuellen Objekts. Weil Ihre "-" Taste ziemlich verschachtelt ist, wird eine relative referenzierung auf Ihr Deutsch Teilformular von dieser aus sehr lang (5x parent).
Die Referenzierung auf das Deutsch Teilformular mit dem "index" Objekt beschreibt den Indexwert in dem sich die "-" Taste befindet. Der Indexwert ist nötig um die richtige Instanz zu entfernen.
Beispiel: Wenn man zum bestehneden Deutsch[0] Teilformular (Indexwert 0) nochmals 2 Instanzen hinzufügt (Indexwert 1 und 2), so ist Ihre "-" Taste in jedem Teilformular vertreten. Durch die Referenzierung beschreiben Sie den Indexwert des Teilformulars, welches entfernt werden soll.
Hätten Sie von vorne rein 4 Deutsch Teilformulare und möchten dann das 3. enfernen, so sollte der Befehl folgendermaßen lauten:
Deutsch.[fontsize=1]removeInstance(2);[/fontsize]
[fontsize=1]Wobei 2 den null basierten Indexwert Ihres 3. Deutsch Teilformulars beschreibt (Deutsch[2]).[/fontsize]
[fontsize=1][/fontsize]
[fontsize=1]Hoffe, dass es aufschlußreich war.[/fontsize]
gruß,
Walde
removeInstance
Hallo walde,
vielen Dank für die ausführliche Erläuterung! Das klingt auf den ersten Blick alles etwas kompliziert, aber ich werde das Ganze mal Schritt für Schritt durchspielen.
Das sollte ich mit Hilfe Ihrer Anleitung eigentlich schaffen. Danke nochmals!
vielen Dank für die ausführliche Erläuterung! Das klingt auf den ersten Blick alles etwas kompliziert, aber ich werde das Ganze mal Schritt für Schritt durchspielen.
Das sollte ich mit Hilfe Ihrer Anleitung eigentlich schaffen. Danke nochmals!
removeInstance
Hallo walde,
leider bin ich absoluter Laie was LCD Scripte anbelangt.
Ich habe in diesem Forum, dieses Formular gefunden und für meine Bedürfnisse umgebaut.Hierbei, werden auch durch anklicken eines Button Unterformulare erstellt.Leider gelingt es mir nicht, bestimmte Unterformulare zu löschen.Also so ähnlich wie bei donbo.Würdest du dir mein Formular mal ansehen und eventuell korrigieren?Ich wäre dir sehr dankbar.Ein Klick auf das rote Kreuz, soll immer nur dieses Unterformular löschen. Vielen Dank im voraus.
leider bin ich absoluter Laie was LCD Scripte anbelangt.
Ich habe in diesem Forum, dieses Formular gefunden und für meine Bedürfnisse umgebaut.Hierbei, werden auch durch anklicken eines Button Unterformulare erstellt.Leider gelingt es mir nicht, bestimmte Unterformulare zu löschen.Also so ähnlich wie bei donbo.Würdest du dir mein Formular mal ansehen und eventuell korrigieren?Ich wäre dir sehr dankbar.Ein Klick auf das rote Kreuz, soll immer nur dieses Unterformular löschen. Vielen Dank im voraus.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
removeInstance
[fontsize=2]Hallo Merklin,[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Das Problem war dem von donbo sehr ähnlich.[/fontsize]
[fontsize=2]Habe folgenden Script auf dem "Roten X" eingefügt:[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]var[/fontsize][fontsize=2] Instance = xfa.resolveNode("Formular1.#subform")._TF1;[/fontsize]
[fontsize=2]Instance.removeInstance(this.parent.parent.parent.parent.index);[/fontsize]
[fontsize=2]Dies müsste den gewünschten Effekt haben.[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]gruß,[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Walde[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Das Problem war dem von donbo sehr ähnlich.[/fontsize]
[fontsize=2]Habe folgenden Script auf dem "Roten X" eingefügt:[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]var[/fontsize][fontsize=2] Instance = xfa.resolveNode("Formular1.#subform")._TF1;[/fontsize]
[fontsize=2]Instance.removeInstance(this.parent.parent.parent.parent.index);[/fontsize]
[fontsize=2]Dies müsste den gewünschten Effekt haben.[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]gruß,[/fontsize]
[fontsize=2][/fontsize]
[fontsize=2]Walde[/fontsize]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
removeInstance
Hallo Walde,
ganz große Klasse.Du hast mir sehr geholfen.
Vielen Dank für deine Mühe.
Den Hut ziehend, Merklin.
ganz große Klasse.Du hast mir sehr geholfen.
Vielen Dank für deine Mühe.
Den Hut ziehend, Merklin.