Instanz per Index ansprechen

Alles was sich mit dem Thema dynamische XML Formulare auf Basis des LiveCycleDesigners beschäftigt
Antworten
josi20
Beiträge: 5
Registriert: 19.07.2007, 19:07

Instanz per Index ansprechen

Beitrag von josi20 » 04.06.2009, 23:46

Hallo zusammen,

kann mir vielleicht jemand sagen wie ich eine durch addInstance() hinzugefügte Zeile per Index ansprechen kann.

Ich erweitere eine dynamische Tabelle per addInstance() durch weitere Zeilen. Nun möchte ich diese Zeile(n) ansprechen.
[fontsize=2][fontsize=2]
Formular1.Tabelle1.Zeile1[1].drop.rawValue = "123"; 
[/fontsize][/fontsize]

[fontsize=2][fontsize=2]funktioniert z.B. nicht.
[/fontsize]
[/fontsize]

Weiss jemand Rat?

 

Danke und Grüße

josi20



walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Instanz per Index ansprechen

Beitrag von walde » 05.06.2009, 11:34

Hallo josi20,

 

Wenn die Instanz bereits besteht, so sollten Sie auf diese (wegen der eckigen Klammern "[]") mit dem resolveNode Objekt zugreifen.

z.B.:

Code: Alles auswählen

xfa.resolveNode("Formular1.Tabelle1.Zeile1[1].drop").rawValue = "123";

Gruß,

 

Walde

josi20
Beiträge: 5
Registriert: 19.07.2007, 19:07

Instanz per Index ansprechen

Beitrag von josi20 » 05.06.2009, 13:30

Hallo,

super, funktioniert.
Jetzt hab ich ein neues Problem:

Wie kann ich den Index als Variable schreiben?

Also z.B.:

xfa.resolveNode("Formular1.Tabelle1.Zeile1[j].drop").rawValue = "123";




Danke und Grüße
josi20

walde
Beiträge: 611
Registriert: 02.05.2008, 21:22

Instanz per Index ansprechen

Beitrag von walde » 05.06.2009, 23:45

Hallo josi20,

 

Wenn auf den Indexwert einer Istanz mit einer Variablen zugegriffen werden soll, so sollte diese ungefähr so aussehen:

Code: Alles auswählen

var Index = 0;

xfa.resolveNode("Formular1.Tabelle1.Zeile1[" + Index + "].drop").rawValue = "123";
 

 

Wichig dabei ist, dass in der Variablen der Indexwert als Zahl und nicht als String vorliegt. Zahl (z.B. var Index = 0), String (z.B. var Index = "0").

gruß,

 

Walde

josi20
Beiträge: 5
Registriert: 19.07.2007, 19:07

Instanz per Index ansprechen

Beitrag von josi20 » 09.06.2009, 11:10

Hallo Walde,

das war's! Super, vielen Dank! :)

 

Grüße

josi20

Dennsen
Beiträge: 5
Registriert: 04.09.2012, 15:58

Instanz per Index ansprechen

Beitrag von Dennsen » 07.09.2012, 10:57

Moin,

Ich habe auch eine Frage zum ansprechen eines Feldes einer Instanz.

Ich habe eine dynamische Tabelle in der ich die Anzahl der Tage zwischen den beiden Daten errechne und in einem extra Feld ausgebe. Dies passiert alles in einer Tabellenzeile ("rechnung"). Der Button für die Berechnung liegt außerhalb.

Das Ausrechnen der Anzahl der Tage ist kein Problem. Jedoch möchte ich eine Schleife, die diese Berechnung für jede Zeile/Instanz vornimmt.

Soweit bin ich bisher:

Code: Alles auswählen

if(nDate2 > nDate1){
    for (var i = 1; i <= Tabelle1._rechnung.count; i++)
    Tabelle1.Fußzeile.Anzahl.rawValue = Tabelle1._rechnung.count; // Das ist nur für Testzwecke, um zu prüfen, ob die korrekte Anzahl an Instanzen ausgelesen wird. Funktioniert.
    Tabelle1.rechnung[i].Dauer.rawValue = Math.round((Number(nDate2) - Number(nDate1))/1000/60/60/24); // Hier liegt wahrscheinlich das Problem?! Irgendwie schaffe ich nicht, daß Textfeld "Dauer" mit den errechneten Werten zu befüllen. Spreche ich das Feld falsch an?
}
else{
    app.alert("Aktuelles Datum ist älter als " + nDate2Pr);
}
Bin für Hinweise dankbar.

Gruß
Dennsen

Antworten