リストボックスを使用したネストされたループマウスオーバーのホバーラベル (グラフビルダー -> ホバーラベルエディター -> Graphlet) で使用される 2 つのネストされた FOR ループを含む 2D マトリックスを構築しようとしています。
ここでは 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 リスト ボックスをリセットする必要があります。ただし、以下のように 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リストボックスを削除して再作成してみました。これも、すでにVリストボックスに入力されているHリストボックスオブジェクトを削除するため、機能しません。
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: リスト ボックスを使用したネストされたループこんにちは、
ジム: 解決策をありがとう。 それはうまくいきます。 私の試みがうまくいかなかった理由がわかりました。
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 );