你好。 我想知道按鈕框是否有一種方便的方法可以以某種方式知道它在陣容框中的位置。 我的具體情況:
JMP Pro 16.2.0
我有一個腳本可以創建一個帶有 LineUp 框的窗口。 在每個單元格中,都有一個按鈕框,我想根據按鈕出現的列執行不同的操作。 例如:
Names Default to Here(1);
list = {"cat", "dog", "mouse", "kangaroo", "sloth"};
list2 = {"meow", "bark", "squeak", "hop", "zzz"};
lub = LineUpBox(NCol(2), Spacing(5));
For(i=1, i<=NItems(list), i++,
tb = TextBox(list[i]);
bb = ButtonBox(list2[i],
//Insert code for the button to somehow identify which button it is within lub.
Speak(list2[i])
);
lub << Append(tb);
lub << Append(bb);
);
New Window("Test", lub);如果我按原樣運行腳本,我會得到:

但是當我點擊任何一個按鈕時,我得到了錯誤:
“'list2[ /*###*/i]' , list2[/*###*/I] 的訪問或評估中的下標範圍”
我理解這個錯誤,因為按鈕框在執行時無法調用“i”的值。 我的問題:有沒有一種方法可以讓按鈕框在按下時“自我識別”它位於排隊框中的位置,並將該值用作按鈕腳本中的 list2 索引?
我目前正在使用 JSL Quotes 和 Substitute 命令來創建按鈕。 在這種情況下,我將 For 循環的內容寫為 JSL 引用並替換為 i 的值,然後是 Eval(Parse())。 不過這很笨拙,我想知道是否有更好的方法,例如“bb << Get Location”或“bb << Count Siblings”命令。 這些命令當然不存在,但也許還有另一種技術?
謝謝!