Seite 1 von 1
Instanz per Index ansprechen
Verfasst: 04.06.2009, 23:46
von josi20
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
Instanz per Index ansprechen
Verfasst: 05.06.2009, 11:34
von walde
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
Instanz per Index ansprechen
Verfasst: 05.06.2009, 13:30
von josi20
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
Instanz per Index ansprechen
Verfasst: 05.06.2009, 23:45
von walde
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
Instanz per Index ansprechen
Verfasst: 09.06.2009, 11:10
von josi20
Hallo Walde,
das war's! Super, vielen Dank!
Grüße
josi20
Instanz per Index ansprechen
Verfasst: 07.09.2012, 10:57
von Dennsen
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