Función a referenciaEstoy insertando dos cuadros en un cuadro de lista H. El primero es un informe de una tabla. Esa tabla puede tener un número variable de filas según lo que suceda previamente en el script, pero siempre tiene el mismo número de columnas. El segundo cuadro que estoy insertando es un V List Box. Para cada fila de la tabla, quiero que se agregue un cuadro de botón a la Lista V y que pueda hacer referencia a los datos de las filas respectivas. es decir. El cuadro de botón 1 hace referencia al valor de la fila 1, columna 3, en la tabla del cuadro de lista H. Mi problema es que parece que no puedo hacer referencia a ese valor, cuando estoy usando un "bucle for" para crear la cantidad de cuadros de botones igual a la cantidad de filas en la tabla.Sé que está tratando de hacer referencia a la celda con la fila = i al final del ciclo for, simplemente no sé cómo hacer que "guarde el valor de i" para cada cuadro de botón. Mi código actual se muestra a continuación:
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>

Cualquier ayuda sería muy apreciada.
Automatización y secuencias de comandosRe: Función a referenciarTenga en cuenta que cuando se ejecuta el script o la función adjuntos a ButtonBox, no tiene vista del ámbito para el que se creó.Esto difiere de otros lenguajes de programación (como Python) que mantienen el alcance cuando se crearon las funciones.
En JSL, utilice el Eval( Eval Expr( ... Expr( var ) ... ) ) construir para preevaluar ciertas partes del código.Aquí hay un ejemplo.
Además, usaría la función ColBox() para agregar los botones, ya que alineará automáticamente todas las celdas:
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>