목록 상자가 있는 중첩 루프마우스 오버 레이블에 사용되는 2개의 중첩 FOR 루프가 있는 2D 행렬을 구성하려고 합니다(그래프 빌더 -> 호버 레이블 편집기 -> Graphlet).
여기서는 2*2 행렬에 대한 간단한 예를 제공합니다.
hlb = H List Box();
vlb = V List Box();
For (row=1, row<=2, row++,
For (col=1, col<=2, col++,
hlb << append(Text Box("Row: "|| char(row) ||", Col: "|| char(col) ))
);
vlb << append(hlb);
);
vlb << get picture;위 스크립트는 잘못된 출력을 생성합니다:

올바른 결과를 얻으려면 H List Box를 어떻게든 재설정해야 합니다. 하지만 아래와 같이 hlb << Set Items({});를 추가하면 결과는 위와 매우 같습니다(즉, 올바르지 않음).
hlb = H List Box();
vlb = V List Box();
For (row=1, row<=2, row++,
For (col=1, col<=2, col++,
hlb << append(Text Box("Row: "|| char(row) ||", Col: "|| char(col) ))
);
vlb << append(hlb);
<FONT color="#FF0000">hlb << Set Items({});</FONT>
);
vlb << get picture;아래와 같이 H List Box를 삭제하고 다시 만들어보려고도 했습니다. 이 방법도 V List Box에 이미 입력된 H List Box 객체를 삭제하기 때문에 작동하지 않습니다.
hlb = H List Box();
vlb = V List Box();
For (row=1, row<=2, row++,
For (col=1, col<=2, col++,
hlb << append(Text Box("Row: "|| char(row) ||", Col: "|| char(col) ))
);
vlb << append(hlb);
<FONT color="#FF0000"> hlb << Delete;
hlb = H List Box();</FONT>
);
vlb << get picture;추가 조언이 있나요? 제 JMP 버전은 16.2입니다.
감사해요;
건
대량 맞춤형Re: 목록 상자가 있는 중첩 루프Line Up Box가 더 나은 접근 방식인지 궁금합니다.
Re: 목록 상자가 있는 중첩 루프안녕하십니까,
Jim: 해결해 주셔서 감사합니다. 잘 작동한다. 내 시도가 성공하지 못한 이유를 이제 알았습니다.
Jarmo: 사용할 대체 솔루션을 제안해 주셔서 감사합니다. 테이블 상자 또는 라인업 상자; 매우 교육적입니다.
잔느
Re: 목록 상자가 있는 중첩 루프N Col과 함께 Table Box 또는 Lineup Box를 사용할 수도 있습니다.
Names Default To Here(1);
vlb = V List Box();
For(row = 1, row <= 2, row++,
hlb = H List Box();
For(col = 1, col <= 2, col++,
hlb << append(Text Box("Row: " || Char(row) || ", Col: " || Char(col) || " || "))
);
vlb << append(hlb);
);
lb = Lineup Box(N Col(2));
cols = 2;
rows = 2;
For(i = 1, i <= cols * rows, i++,
row = Ceiling(i / 2);
col = !Modulo(i, 2) + 1; //just some calculation which works in this case
Show(col);
lb << append(Text Box("Row: " || Char(row) || ", Col: " || Char(col) || " || "));
);
//one option
tb = Table Box("",
String Col Box("row1", {"Row: 1", "Row: 2"}),
String Col Box("col1", {"Col: 1", "Col: 1"}),
String Col Box("row1", {"Row: 1", "Row: 2"}),
String Col Box("col1", {"Col: 2", "Col: 2"}),
);
New Window("",
Lineup Box(N Col(1),
Text Box("V List Box"),
vlb,
Text Box("Lineup"),
lb,
Text Box("Table Box"),
tb
)
);
Re: 목록 상자가 있는 중첩 루프나는 이것이 당신이 원하는 것이라고 믿습니다

vlb = V List Box();
For( row = 1, row <= 2, row++,
hlb = H List Box();
For( col = 1, col <= 2, col++,
hlb << append( Text Box( "Row: " || Char( row ) || ", Col: " || Char( col ) ) )
);
vlb << append( hlb );
);
New Window( "show", vlb << get picture );