Funktion, auf die verwiesen werden sollIch füge zwei Boxen in eine H-Listbox ein. Der Erste ist ein Bericht aus einer Tabelle. Diese Tabelle kann eine unterschiedliche Anzahl von Zeilen enthalten, je nachdem, was zuvor im Skript passiert, hat aber immer die gleiche Anzahl von Spalten. Das zweite Feld, das ich einfüge, ist ein V-List-Feld. Ich möchte, dass für jede Zeile der Tabelle ein Schaltflächenfeld zur V-Liste hinzugefügt wird und dass es auf die Daten der jeweiligen Zeile verweisen kann. dh. Schaltflächenfeld 1 verweist auf den Wert in Zeile 1, Spalte 3 in der Tabelle im H-Listenfeld. Mein Problem ist, dass ich scheinbar nicht auf diesen Wert verweisen kann, wenn ich eine „for-Schleife“ verwende, um die Anzahl der Schaltflächenfelder zu erstellen, die der Anzahl der Zeilen in der Tabelle entspricht.Ich weiß, dass versucht wird, die Zelle mit der Zeile = i am Ende der for-Schleife zu referenzieren. Ich weiß nur nicht, wie ich dafür sorgen soll, dass für jedes Schaltflächenfeld der Wert von i gespeichert wird. Mein aktueller Code wird unten angezeigt:
OutputTable = Current Data Table();
HList = H List Box( OutputTable << Get as Report() );
//Show(Column(OutputTable, 3)[1]);
SavingVlb = V List Box( Text Box( "Save to External Table" ) );
For( i = 1, i < N Rows( OutputTable ) + 1, i++,
BB = Button Box( "Save",
<<SETFUNCTION></SETFUNCTION>

Jede Hilfe wäre sehr dankbar.
Automatisierung und SkripterstellungBetreff: Zu referenzierende FunktionBeachten Sie, dass das an die ButtonBox angehängte Skript/die angehängte Funktion keine Sicht auf den Bereich hat, für den es erstellt wurde.Dies unterscheidet sich von anderen Programmiersprachen (wie Python), die den Spielraum für den Zeitpunkt der Funktionserstellung beibehalten.
Verwenden Sie in JSL die Eval( Eval Expr( ... Ausdruck( var ) ... ) ) Konstrukt, um bestimmte Teile des Codes vorab auszuwerten.Hier ist ein Beispiel.
Außerdem würde ich die Funktion ColBox() verwenden, um die Schaltflächen hinzuzufügen, da dadurch alle Zellen automatisch ausgerichtet werden:
OutputTable = Current Data Table();
HList = H List Box( OutputTable << Get as Report() );
//Show(Column(OutputTable, 3)[1]);
SavingVlb = V List Box( Text Box( "Save to External Table" ) );
col box = Col Box( "" );
hlist[Table Box( 1 )] << Append( col box );
For( i = 1, i < N Rows( OutputTable ) + 1, i++,
Eval( Eval Expr(
BB = Button Box( "Save",
<<SETFUNCTION></SETFUNCTION>