---------------------------------------------------------------------------------------------------------
위에 보이는 그림에 보면 회원 추가와 회원삭제 버튼이 있습니다.
처음 프로그램이 실행될 때는 저 두버튼이 보이지 않고,
옆에 있는 전체 조회 버튼을 누를 경우에는 버튼을 보이게 하고 싶습니다.
저 나름대로 해보긴 했는데 프로그램 실행시 숨기는건 가능한데,
버튼을 눌렀을 때 나타나지가 않네요...ㅜㅜ
또, 한가지 질문은 어제도 올렸던 질문인데,
위에 있는 그림에서 I/O FIELD인 IO_NUM에 회원번호를 입력하고 옆에 있는 입력값 조회 버튼을 누르면
해당하는 번호의 회원만 불러오는 것입니다.
이것 또한 여러가지로 시도해 봤는데...안되네요...ㅜㅜ
여러분들의 답변 부탁드릴께요~!!
댓글 6
-
activeman
2008.12.12 19:08
-
튀밥
2008.12.12 20:48
제 생각에도 위와 같은 생각이여서 다음과 같이 해봤습니다.
SCREEN 영역에서 INVISIBLE = 1로 설정 후
PBO에서
LOOP AT SCREEN.
IF SCREEN-NAME = 'PUSH_ADD' OR SCREEN-NAME = 'PUSH_DEL'.
IF SCREEN-INVISIBLE = 1.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ELSEIF SCREEN-INVISIBLE = 0.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
PAI의 USER-COMMAND에서 전체 조회를 클릭시.
LOOP AT SCREEN.
IF SCREEN-NAME EQ 'PUSH_ADD' OR SCREEN-NAME EQ 'PUSH_DEL'.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
이렇게 해주면 될거 같은데
PAI에서 0으로 바꾸어준 값이 PAO로 넘어가니 다시 1로 바뀌네요...ㅜㅜ
이건 왜 그런거죠?어떻게 처리 해주어야 하나요??ㅜㅜ
-
띵호아빠
2008.12.12 21:10
1. flag 값을 선언하고, 스크린페인터에서 해당 푸쉬버튼을 group1 에 GR1 으로 세팅하며,
전체조회를 클릭했을때만 user-command 에서 flag = 'X'. 로 주고..아니면 clear flag. 하신후,
PBO 에서
if flag = 'X'.
loop at screen.
if screen-group1 = 'GR1'.
screen-active = 0.
modify screen.
endif.
endloop.
endif.
2. 데이타를 읽을때 조건을 잘못주신것 같은데요.
2-1. 회원번호 입력받은경우,
where 회원번호필드 = 입력받은회원번호buff.
2-2. 회원번호를 입력받지않은 경우,
where 조건이 필요없습니다. -
튀밥
2008.12.12 22:40
띵호 아빠님 2-1에서 입력받은 회원번호는 스크린상의 I/O FILED명을 말씀하시는건가요??
-
띵호아빠
2008.12.13 00:51
네, 맞습니다.. -
튀밥
2008.12.13 01:51
친절한 답변 감사 드립니다. ACTIVEMAN 님과 띵호아빠님 덕분에 잘 해결을 했습니다.^^
pbo에서 아래와 같이 하시면 될겁니다. 보였다(or 안보였다) 보다는 활성(or 비활성)
으로 하시는게 좋을 듯합니다.
'F1'으로 help 보시면 사용방법이 나와 있습니다.
invisible, active 속성 중에 맘에 드시는 걸로 하세요.
MODULE modify_0100 OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'VAL'.
screen-required = '1'.
screen-intensified = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.
즐밥하세요..