Zeile einer Tabelle hinzufügen

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
mck-IBO
Beiträge: 12
Registriert: 08.01.2009, 18:52

Zeile einer Tabelle hinzufügen

Beitrag von mck-IBO » 12.08.2010, 09:14

[fontsize=2]Hallo alle Miteinander,[/fontsize]

[fontsize=2]ich habe mit meiner Tabelle ein Problen, da ich nicht der super Programmierer bin habe ich mich zuerst hier im Forum informiert und dann aus einer funktionierenden Tabelle das abgeschaut was ich brauche.[/fontsize]

[fontsize=2]Leider funktioniert das Einfügen einer neuen Zeile bzw das Löschen der Zeilen nicht.[/fontsize]

[fontsize=2]Meine Frage an Euch:[/fontsize]

[fontsize=2]Kann mir jemand Helfen und sagen was ich falsch gemacht habe?[/fontsize]

[fontsize=2]Besten Dank schon mal vorab[/fontsize]

[fontsize=2]Gruß Marc[/fontsize]
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 10:15

Schaue mal , ob ich den Fehler finde.
Einen hab ich schon. Du möchtest doch die Zeile 1 vervielfältigen, oder?
Dafür musst Du ZEILE 1 anklicken --> auf OBJEKT gehen --> ZEILE FÜR JEDES DATENELEMENT WIEDERHOLEN anklicken

LG Mandy

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 10:19

So. Zeile hinzufügen klappt auch.
Du musst beim PLUS-Button sagen, was Du vervielfältigt haben möchtest, am besten so:

Code: Alles auswählen

Formular1.seite1.Teilformular1.Tabelle1.Zeile1.instanceManager.addInstance(1);
Damit funktioniert das auch schon. Hattest Du auch als DYNAMISCH gespeichert?

Muss jetzt kurz etwas arbeiten, schaue dann gleich noch mal.

LG Mandy

PS: Ich habs mit Javascript gemacht, Formcalc müsste ohne Semikolon sein.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 10:54

Generell würde ich Dir für die Fehlersuche folgendes empfehlen, wenn ich darf.

Du möchtest ja das Löschen mit einer Abfrage verbinden. Also würde ich es Stück für Stück überprüfen. Das Löschskript

Code: Alles auswählen

this.parent.parent.instanceManager.removeInstance($.parent.parent.index)
für sich allein funktioniert, also ist klar, dass der Fehler in der Abfrage liegt.

Und hier ist auch schon der Fehler, es muss heißen ..2,2 nicht 1,2 wie bei Dir.

Code: Alles auswählen

if (xfa.host.messageBox("Wollen Sie wirklich .. löschen?", "Sicherheitsrückfrage", 2, 2)==4)
{
    this.parent.parent.instanceManager.removeInstance($.parent.parent.index)
}
Allerdings ist Dein Parentgeschichte noch nicht optimal, denn bei der letzten Zeile kannst Du das Skript auch ausführen und es erscheint eine Fehlermeldung, da Du das Minimum erreicht hast.

Müsste man vielleicht noch abfangen, indem man die Instanzen zählt und nur dann Deine Abfrage zulässt, sofern sie nicht null ist. Ich glaube, er beginnt bei Null zu zählen.

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

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 11:00

Hier gibt es ein Skript, kannst ja mal schauen, ob Du es Dir anpassen kannst.

Code: Alles auswählen

var nCount = Formular1.seite_1.tabelle1.Zeile1.instanceManager.count;
if(nCount > 1){
    while (nCount > 1){
        Formular1.seite_1.tabelle1.Zeile1.instanceManager.removeInstance(nCount-1);
        nCount --;
    }
}
LG Mandy

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 11:34

Habs hinbekommen, hatte mich selbst interessiert. Bin selbst richtig stolz auf mich :-))
Allerdings das Entfernen mit Javscript.

Eleganterweise würde ich allerdings die Rückfrage nur machen, wenn etwas in der Zeile eingetragen wurde, ansonsten wird so etwas relativ schnell nervig für die Benutzer.

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

mck-IBO
Beiträge: 12
Registriert: 08.01.2009, 18:52

Zeile einer Tabelle hinzufügen

Beitrag von mck-IBO » 12.08.2010, 11:45

Ja Danke,

genau so sollte es sein. Dann werde ich mich mal daran machen das Formular weiter zu bearbeiten.

Du hast mir sehr weiter geholfen.

Gruß Marc

mck-IBO
Beiträge: 12
Registriert: 08.01.2009, 18:52

Zeile einer Tabelle hinzufügen

Beitrag von mck-IBO » 12.08.2010, 13:00

nele_sonntag hat geschrieben:Habs hinbekommen, hatte mich selbst interessiert. Bin selbst richtig stolz auf mich :-))
Allerdings das Entfernen mit Javscript.

Eleganterweise würde ich allerdings die Rückfrage nur machen, wenn etwas in der Zeile eingetragen wurde, ansonsten wird so etwas relativ schnell nervig für die Benutzer.

LG Mandy
Hallo Mandy,

mir ist gerade noch eines beim löschen der Zeilen aufgefallen, wenn ich mehrere Zeilen eingefügt habe und dann eine aus der mitte lösche, läuft die schleife weiter bis alle nachfolgenden Zeilen auch gelöscht wurden.

Aber ich möchte ja nur die eine Zeile Löschen und die anderen nicht. Und die Schleife sollte dann auch stoppen nach dem ich die Zeile gelöscht, oder ich das Löschen abgebrochen habe 

Gruß Marc

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 14:21

Stimmt, das ist aber blöd.
Ok, müssen wir beide noch mal knobeln, wie wir das ändern. Momentan heißt es ja, solange der Instanzen-Zähler größer 1 ist..logisch, dasss er weitermacht :-(

Muss mich jetzt nur mal kurz um meine Katzenbabys kümmern :-)

LG und bis später,
Mandy

Benutzeravatar
nele_sonntag
Beiträge: 2742
Registriert: 04.05.2009, 15:12
Wohnort: Frankfurt
Kontaktdaten:

Zeile einer Tabelle hinzufügen

Beitrag von nele_sonntag » 12.08.2010, 14:45

Ok, habe jetzt mal die WHILE-Schleife auskommentiert, da scheint er nur die eine zu löschen.

Code: Alles auswählen

var nCount = Formular1.seite1.Teilformular1.Tabelle1.Zeile1.instanceManager.count;
if(nCount > 1){
 //   while (nCount > 1){
        if (xfa.host.messageBox("Wollen Sie..löschen?", "Warnung!", 2, 2) == 4) {
               Formular1.seite1.Teilformular1.Tabelle1.Zeile1.instanceManager.removeInstance(nCount-1);
            nCount --;            
        }

//    }
}
LG Mandy

Antworten