是否可以将ColLIstBox与两个不同的数据表关联?大家好,
我有一个基于两个不同数据表的工具。
在启动界面上,用户需要指定一些来自第一张表的列,一些来自第二张表的列以及一些可以在第一张表或第二张表中的列。
这是一个重现我的问题的小例子:
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Cities.jmp" );
new window("Test",
hlistbox (
panel box ("Table 1",
hlist box(
collistbox(data table(dt1),all),
vlist box(
text box("Select a variable from table 1"),
CL1 = collistbox(data table(dt1),nlines(1),maxitems(1))
)
)
),
panel box ("Table 2",
hlist box(
collistbox(data table(dt2),all),
vlist box(
text box("Select a variable from table 2"),
CL2 = collistbox(data table(dt2),nlines(1),maxitems(1))
)
)
),
panel box ("Last variable",
vlist box(
text box("Select a variable from table 1 or table 2"),
CL3 = collistbox(maxitems(1),nlines(1))
)
)
)
)在CL3中,我希望能够放置第一个表的列或第二个表的列。我不确定用ColListBox对象是否可行。否则,您是否知道还有另一种方法?
在此先感谢您的帮助!
脚本编写回复:是否可以将ColLIstBox与两个不同的数据表关联?这是我过去用于其他问题的一个小技巧,但效果很好。 我已修改您的代码以创建一个新的私有数据表,该表中包含所有列,但没有数据。 它允许您从任何一个Col List Box()中选择列。
names default to here(1);
dt1 = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt2 = Open( "$SAMPLE_DATA/Cities.jmp" );
dt3 = dt1 << concatenate(private,dt2);
dt3 << delete rows(index(1,nrows(dt3)));
nw = new window("Test",
hlistbox (
panel box ("Table 1",
hlist box(
collistbox(data table(dt1),all),
vlist box(
text box("Select a variable from table 1"),
CL1 = collistbox(data table(dt1),nlines(1),maxitems(1))
)
)
),
panel box ("Table 2",
hlist box(
collistbox(data table(dt2),all),
vlist box(
text box("Select a variable from table 2"),
CL2 = collistbox(data table(dt2),nlines(1),maxitems(1))
)
)
),
panel box ("Last variable",
vlist box(
text box("Select a variable from table 1 or table 2"),
CL3 = collistbox(data table(dt3),maxitems(1),nlines(1))
)
)
)
);
nw << on close( close(dt3,nosave));回复:是否可以将ColLIstBox与两个不同的数据表关联?谢谢 @txnelson 那真是个好戏!在某些特定情况下,可能需要进行一些调整,否则我认为这正是我想要的!