테이블이 닫힐 때 보고서를 닫을 수 있습니까?특히 "<< 닫을 때" 메시지를 사용하여 데이터 테이블을 닫을 때 보고서가 포함된 창을 자동으로 닫는 방법이 있는지 알고 싶으십니까? 예를 들어 데이터 테이블에서 분포를 만들고 다른 중요한 정보와 함께 결과를 창에 추가합니다. 사용자가 데이터 테이블을 닫으면 창에서 몇 가지 작업을 수행하고 싶습니다. 다음은 다음을 보여줍니다.
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
VLB = VlistBox(
Distribution(Column(:Age, :Weight));
);
win = New Window("Results",
TextBox("Other things"),
VLB
);
dt << On Close(
Show("Close script activated"); //this line is executed...
VLB << Delete Box(); //...but not this one or any following it.
Show("Remainder of script is not run...");
);
"<< 닫을 때" 메시지를 사용하는 것이 답인 것 같지만 아직 작동하지 않습니다. 테이블 dt를 닫으면 on-close 스크립트의 첫 번째 줄이 실행되지만 나머지는 실행되지 않습니다. 다른 보고서 창이 열려 있고 닫으려는 경우("모두 닫기"를 클릭하면 배포뿐만 아니라 전체 결과 창이 닫힘) 메시지가 표시되고 마지막으로 저장을 묻는 메시지("아니오")가 표시됩니다. 테이블을 닫기 위해 "X"를 클릭하면 On-Close 스크립트가 실행되기 전에 VLB에 대한 참조가 삭제되는 것 같습니다.
분포에 대한 보고서를 만들어 내 창에 대신 넣을 수 있다는 것을 알고 있지만 그러면 정적이 될 것이므로 원하지 않습니다.
이견있는 사람?
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?고마워요. 불행히도 나는 이 스크립트가 다른 사람들 사이에서 사용되고 있기 때문에 Names Default to Here(1)을 사용해야 한다고 생각하지만 이 솔른은 다른 사람들에게 유용할 수 있습니다.
내 VLB 참조를 전역으로 만들어 NDtH 명령과 함께 작동하도록 할 수 있었습니다. 이것은 여전히 이상적이지는 않지만 몇 가지 가능성을 제공합니다.
Names Default to Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
::VLB = VlistBox(
Distribution(Column(:Age, :Weight));
);
win = New Window("Results",
TextBox("Other things"),
::VLB
);
dt << On Close(
Show("Close script activated");
::VLB << Delete Box();
Show("Remainder of script...");
);그래도 구독 기능을 작동시키는 방법이 있다면 정말 좋겠습니다. 테이블이 변경될 때 내 창에서 수행하고 싶은 다른 작업이 있습니다. 다시 한 번 감사드립니다.
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?감사합니다 오드리! 좋은 캐치도 그래, 나는 그것을 떠났다. vlb가 스크립트 편집기 창에 로컬이고 데이터 테이블의 창에서 onClose를 실행할 때 사용할 수 없다는 것이 이치에 맞을 것입니다. 요청은 vlb가 테이블의 컨텍스트에서 정의되지 않았다는 메시지를 로그 창에 표시하는 것이라고 생각합니다.
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?@nikles 우선, 문제/질문을 재현하는 훌륭한 스크립트에 감사드립니다. 당신이 무엇을 요구하는지 보는 것은 매우 쉽습니다.
두 번째로, 나는 그것을 시도하기 위해 스크립트를 처음 복사했을 때 Names Default to Here(1)의 첫 줄을 복사하지 않았다는 것을 인정해야 합니다. 그 줄을 생략하면 스크립트가 원하는 방식으로 작동합니다. 변수 범위를 제한하기 위해 해당 줄이 필요하지 않은 경우 해결 방법이 될 수 있습니다. (참고: here()에 기본 이름을 사용하는 것이 확실히 가장 좋은 방법이지만 여기서는 일종의 범위 지정 문제가 발생합니다.)
셋째, Mac과 Windows에서 동작이 일관됨을 발견했습니다. (그래서, @Craige_Hales , Names Default to Here(1)도 생략했습니까?)
넷째, Craige는 dt << subscribe가 가능할 수 있다고 제안했지만 Names Default to Here(1)가 있든 없든 작동하도록 할 수 없었습니다. 다른 보고서 창이 열려 있다는 메시지가 계속 표시되며 닫고 싶습니까?
마지막으로 개발팀과 후속 조치를 취하고 이것이 해결해야 할 사항인지 확인합니다.
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?확인 - 기술 지원팀에 메시지를 보냈으므로 해결 방법이 있기를 바랍니다. "구독" 기능을 몰랐는데 공유해 주셔서 감사합니다. 불행히도 그것은 내 시스템에서도 작동하지 않습니다. 아마도 동일한 근본적인 이유일 것입니다. 구독에 대한 스크립팅 인덱스 항목에서 "예제 1"을 실행해도 실패합니다. 그래도 사용하면 도움이 될 과거 스크립트를 많이 생각할 수 있습니다.
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?@Audrey_Shull
기술 지원을 받아야 할 수도 있습니다. 아마도 두 OS에서 발생하는 순서의 차이일 것입니다.
https://www.jmp.com/support/help/14-2/subscribe-to-a-data-table.shtml 작동하도록 onClose의 다양한 변형을 제공할 수 있습니다. 데이터 테이블 창이 닫힐 때 dt<
나는 dt를 닫기 위해 report<Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?
흠. JMP Pro 14.3.0이 설치된 Mac(Mojave 10.14.6)에서 실행.
Re: 테이블이 닫힐 때 보고서를 닫을 수 있습니까?귀하의 스크립트가 정확하다고 생각하며 14.3의 Windows에서 실행됩니다. 실행 중인 JMP 버전은 무엇입니까?
The platform left the window플랫폼이 창을 떠났습니다.