おい、
何年もこれをやっていなかったので、JSLで非常に小さなUIコンポーネントを構築しようとしていますが、苦労していることに気づきました。
リストボックスにテーブルのリストがあり、リストボックスでテーブルが選択されたときにテーブルの説明を表示したいのですが、
最小限の例を次に示します。

tables = {"Table1", "Table2"};
descriptions = {"This is the first table", "This is the second"};
showDescription = Function({},{sel, selIdx, desc},
sel = item_disp_box << Get Selected;
If(Nitems(sel) > 0,
selIdx = loc(tables,sel[1])[1];
desc = descriptions[selIdx];
tb << Set Text(desc);
);
);
nw = new window("Browse Tables",
spacer box(size(0, 5)),
hlistbox(
panelbox("Tables:",
spacer box(size(0, 5)),
item_disp_box = listbox(tables, width(200), nlines(5), max selected(1)),
//item_disp_box << On Something??(showDescription),
),
panelbox("Description of selected table:",
tb = Text Box(""),
),
);
);上記のコードで正しい説明を表示する関数を実験しており、手動で実行しても正常に動作することがわかります。
私の問題は、リストボックスのその関数の適切なトリガーが見つからないことです。スクリプトインデックスを調べてみましたが、「on close」しか見つかりませんでした。
ここで探していることを簡単に達成する方法はありますか?
前もって感謝します、
ダニエル
こちらが<
Names Default To Here( 1 );
New Window( "Example",
lb = List Box( {"First Item", "Second Item", "Third Item", "Fourth Item"}, width( 200 ), max selected( 2 ), nlines( 5 ) ),
Text Box( "" )
);
lb << Set Function( Function( {thisBox}, (thisBox << sib) << Set Text( Char( thisBox << get selected ) ) ) );3 つのオプションがあります: [変更時]、[関数の設定]、[スクリプトの設定]。これらすべての例は、スクリプト インデックスから見つけることができます (例にはリスト ボックスが含まれていない可能性がありますが、デモに使用した他の表示ボックスと同様の方法で機能するはずです)。おそらく、「それ自体」(関数を呼び出すリストボックス) への参照を提供するため、<< Set Function を使用するでしょう。
あなたがた両方に感謝します! Set 関数は魔法のように機能しました 