행 상태 처리기를 올바르게 지우는 방법주어진 선택된 행이 선택 취소될 수 없도록 하는 매우 간단한 행 상태 처리기가 있습니다.문제는 해당 기능을 끄고 정상적인 작업을 계속하고 싶다는 것입니다.
다음은 행 15를 항상 선택하도록 잠그는 간단한 스크립트입니다.
names default to here(1);
dt=open("$SAMPLE_DATA\big class.jmp");
x=15;
dt << select rows(x);
setrow = function({x},dt<<CLEAR select=""></CLEAR>
이제 문제는 데이터 테이블을 닫고 다시 여는 것 외에 행 상태 처리기를 제거하는 방법입니다.행 상태 처리기를 다른 함수로 변경할 수 있지만 행 상태 처리기를 제거하는 것이 좋습니다.
답이 있는 사람이 있습니까?
데이터 테이블스크립팅Re: 행 상태 핸들러를 올바르게 지우는 방법이전에 핸들러에 대한 참조를 저장한 변수에 빈 값만 할당하면 된다고 생각합니다. 핸들러 할당을 해제하기 전에 Wait( 0 ) 함수 호출을 사용하여 모든 업데이트가 포착되고 스크립트가 동기화되었는지 확인해야 합니다. (Wait에 대한 팁을 준 Dan Schikore에게 감사드립니다.)
이 예제를 보고 실행 후 로그를 검사하십시오. 처음 두 행 상태 변경만 로그에 출력됩니다.
Names Default To Here( 1 );
// example data set
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
// example handler
f = Function( {a}, Show( a ) );
// assign handler
rs = dt << make row state handler( f );
// test handler
dt << Select Rows( 1 );
dt << Select Rows( 5 );
Wait( 0 );
// de-assign handler
rs = Empty();
// test absence of handler
dt << Select Rows( 3 );
dt << Select Rows( 9 );Re: 행 상태 핸들러를 올바르게 지우는 방법오래된 질문이지만 rs=0 으로 설정하지 않는 이유는 무엇입니까?
Re: Row State Handler를 올바르게 지우는 방법<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />아래는 행 상태 처리기를 지우는 것 같습니다(현재 행 상태는 아님).
전역 지우기 ( RS ) ;
Re: 행 상태 핸들러를 올바르게 지우는 방법감사해요.
Re: 행 상태 핸들러를 올바르게 지우는 방법JSL 코드를 MS-Word에 복사/붙여넣기한 다음 Word에서 여기에 복사/붙여넣기합니다.예를 들어:
empty_function = 기능 ({ 엑스 } , { 지 } ,
지 = 1 ;
) ;
RS = dt << 행 상태 처리기 만들기 ( empty_function ) ;
Re: 행 상태 핸들러를 올바르게 지우는 방법아마도 올바른 솔루션은 아니지만 행 상태 핸들러에 빈 함수를 할당합니다.
empty_function = function({x},{z},
z = 1;
);
rs = dt << Make Row State Handler(empty_function);
함수가 완전히 비어 있으면 어쩐지 동작하지 않아서 z=1을 '더미 코드'로 추가했습니다.
문안 인사
베드로
추신: 어떻게 샘플 코드를 '코드'로 포맷할 수 있습니까? 포럼 소프트웨어를 이해하기에는 너무 멍청한 것 같습니다.