参考功能我正在将两个框插入到一个 H 列表框中。 第一个是来自表格的报告。 该表可以有不同数量的行,具体取决于先前在脚本中发生的情况,但始终具有相同数量的列。 我要插入的第二个框是一个 V 列表框。 对于表格的每一行,我希望将一个按钮框添加到 V 列表中,并使其能够引用各自的行数据。 IE。按钮框 1 引用 H 列表框表格中第 1 行第 3 列的值。 我的问题是当我使用“for 循环”来创建与表中行数相等的按钮框时,我似乎无法引用该值。我知道它试图在 for 循环的末尾引用行 = i 的单元格,我只是不知道如何让它为每个按钮框“保存 i 的值”。 我当前的代码如下所示:
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>

任何帮助将不胜感激。
自动化和脚本回复:参考功能请注意,当 ButtonBox 的附加脚本/函数运行时,它没有创建它的范围的视图。这与其他编程语言(如 Python)不同,后者在创建函数时保持作用域。
在 JSL 中,使用求值( 求值表达式( ... Expr( 变量 ) ... ) )构造以预先评估代码的某些部分。这是一个例子。
另外,我会使用 ColBox() 函数来添加按钮,因为它会自动对齐所有单元格:
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>