안녕. 버튼 상자가 라인업 상자 내에서 어디에 있는지 어떻게 든 알 수있는 편리한 방법이 있는지 궁금합니다. 내 세부 사항:
JMP 프로 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 Quote로 작성하고 i 값으로 대체한 다음 Eval(Parse())로 대체합니다. 이것은 투박하지만 "bb << Get Location" 또는 "bb << Count Siblings" 명령과 같은 더 나은 방법이 있는지 궁금합니다. 이 명령은 물론 존재하지 않지만 다른 기술이 있습니까?
감사!