<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요 JMPsters,
아래 코드에 문제가 있습니다. 목록 상자에 항목 목록이 있으며 사용자가 목록 상자에서 선택하는 내용에 따라 탭에 표시되는 내용을 변경하려고합니다. 코드를 실행하면 어떻게 작동하는지 볼 수 있습니다.
그래프 탭은 클릭 한 주제에 관계없이 멋지게 업데이트됩니다.
문제는 첫 번째 탭에있는 것입니다.이 탭에는 테이블 상자가 있습니다. 첫 번째로 주제를 클릭하면 표 상자가 나타납니다.

그러나 다음 주제를 클릭 한 다음 원래 주제로 돌아 가면 빈 탭이 나타납니다.

누군가가 알아낼 수 있다면 미리 감사드립니다.
topic_dt = 새 테이블 ( "예제 주제" , 행 추가 ( 5 ) ,
새 열 ( "기간" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) ,
값 설정 ( [ 1 , 2 , 삼 , 4 , 5 ] ) ) ,
새 열 ( "AAAAA" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) ,
값 설정 ( [ 1 , 2 , 삼 , 4 , 5 ] ) ) ,
새 열 ( "BBBBB" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) ,
값 설정 ( [ 5 , 4 , 삼 , 2 , 1 ] ) ) ,
새 열 ( "CCCCC" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) ,
값 설정 ( [ 2 , 삼 , 2 , 삼 , 2 ] ) ) ,
새 열 ( "DDDDD" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) ,
값 설정 ( [ 삼 , 4 , 2 , 1 , 5 ] ) )
) ;
topic_list = { "AAAAA" , "BBBBB" , "CCCCC" , "DDDDD" } ;
tbl_expr = {} ;
그래프 _expr = {} ;
...에 대한 ( 나는 = 1 , 나는 <= 니 넴스 ( topic_list ) , 나는 ++,
one_topic = topic_list [ 나는 ] ;
plist = topic_dt : 기간 << 값을 얻다. ;
목록 = 기둥 ( topic_dt , one_topic ) << 값을 얻다. ;
tbl_expr [ 나는 ] =
vlistbox (
텍스트 상자 ( "주제 표" || one_topic ) ,
tablebox (
번호 열 상자 ( "기간" , plist ) ,
번호 열 상자 ( one_topic , 목록 ) ,
) ,
) ;
gb_expr = 평가 절하 (
"\ [graph_expr [^ i ^] = expr (hlistbox (
gb = 그래프 빌더 (
보기 제어판 (0),
변수 (X (: 마침표), Y (: 이름 ( "^ one_topic ^")))
집단(
점 (X, Y, 범례 (1), 지터 (1)),
매끄럽게하기 (X, Y, 범례 (2))
)
)
))] \ " ) ;
평가 ( 해석하다 ( gb_expr )) ;
) ; // end loop
topic_list_expr = expr (
topic_mtx = topic_lb << 선택된 색인을 얻는다. ;
이토록 = topic_mtx [ 1 ] ;
trend_tab << 바꾸다 ( 1 , "표" ,
vlistbox (
tbl_expr [ 이토록 ] ,
)
) ;
trend_tab << 바꾸다 ( 2 , "그래프" ,
평가 ( 그래프 _expr [ 이토록 ]) ,
) ;
) ;
pvtrend_win = 새창 ( "예" ,
hlistbox (
패널 상자 ( "주제" ,
topic_lb = 리스트 박스 ( topic_list , 폭 ( 250 ) , nlines ( 5 ) , 최대 선택 ( 1 ) ,
topic_list_expr ) ,
) ,
trend_tab = 탭 상자 (
"표" ,
vlistbox (
tbl_expr [ 1 ] ,
) ,
"그래프" ,
평가 ( 그래프 _expr [ 1 ]) ,
) ,
)
) ;
topic_lb << 선택한 것으로 설정 ( 1 ) ;
문제는 tbl_expr의 표시 상자가 완전히 평가되지 않는 것 같습니다. 이 코드는 의도 한대로 작동한다고 생각합니다.
topic_dt = NewTable ( "예제 주제" ,
행 추가 ( 5 ) ,
NewColumn ( "기간" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) , 값 설정 ( [ 1 , 2 , 삼 , 4 , 5 ] ) ) ,
NewColumn ( "AAAAA" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) , 값 설정 ( [ 1 , 2 , 삼 , 4 , 5 ] ) ) ,
NewColumn ( "BBBBB" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) , 값 설정 ( [ 5 , 4 , 삼 , 2 , 1 ] ) ) ,
NewColumn ( "CCCCC" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) , 값 설정 ( [ 2 , 삼 , 2 , 삼 , 2 ] ) ) ,
NewColumn ( "DDDDD" , 숫자 , 마디 없는 , 체재 ( "베스트" , 12 ) , 값 설정 ( [ 삼 , 4 , 2 , 1 , 5 ] ) )
) ;
topic_list = { "AAAAA" , "BBBBB" , "CCCCC" , "DDDDD" } ;
tbl_expr = {} ;
그래프 _expr = {} ;
에 대한 ( 나는 = 1 , 나는 <= NItems ( topic_list ) , 나는 ++,
one_topic = topic_list [ 나는 ] ;
plist = topic_dt : 기간 << 값을 얻다. ;
목록 = 기둥 ( topic_dt , one_topic ) << 값을 얻다. ;
tbl_expr [ 나는 ] = EvalExpr (
VListBox (
텍스트 상자 ( "주제 표" || Expr ( one_topic ) ) ,
TableBox (
NumberColBox ( "기간" , Expr ( plist ) ) ,
NumberColBox ( Expr ( one_topic ) , Expr ( 목록 ) ) ,
)
)
) ;
그래프 _expr [ 나는 ] = EvalExpr (
HListBox (
gb = 그래프 빌더 (
제어판 표시 ( 0 ) ,
변수 ( 엑스 ( : 기간 ) , 와이 ( AsColumn ( Expr ( one_topic ) ) ) ) ,
집단 ( 전철기 ( 엑스 , 와이 , 전설 ( 1 ) , 지터 ( 1 ) ) , 매끄러운 ( 엑스 , 와이 , 전설 ( 2 ) ) )
)
)
) ;
) ; // end loop
topic_list_expr = Expr (
topic_mtx = topic_lb << 선택된 색인을 얻는다. ;
이토록 = topic_mtx [ 1 ] ;
trend_tab << 바꾸다 ( 1 , "표" , 평가 ( tbl_expr [ 이토록 ]) ) ;
trend_tab << 바꾸다 ( 2 , "그래프" , 평가 ( 그래프 _expr [ 이토록 ] ) ) ;
) ;
pvtrend_win = 새창 ( "예" ,
HListBox (
PanelBox ( "주제" ,
topic_lb = 리스트 박스 (
topic_list ,
폭 ( 250 ) ,
nlines ( 5 ) ,
최대 선택 ( 1 ) ,
평가 ( topic_list_expr )
) ,
) ,
trend_tab = TabBox ( "표" , VListBox ( tbl_expr [ 1 ] , ) , "그래프" , 평가 ( 그래프 _expr [ 1 ] ) ) ,
)
) ;
topic_lb << 선택한 것으로 설정 ( 1 ) ;