* Powerbuilder 10.5

 

 

 

지난 강의 숙제는 부서 ddlb 의 부서목록이 변경될 때 그 부서코드값을 받아서 i_dwchild.retrieve 의 아규먼트로 넘겨주는 것이었습니다.

 

부서 ddlb의 부서목록이 변경될 때 -> ddlb_dept.selectionChanged 이벤트

부서코드값을 받아서 -> ddlb_dept.text

 

이 정도로 정리할 수 있습니다.

 

w_list 의 ddlb_dept.selectionChanged 이벤트를 엽니다.

 

wf_retrieve( trim(right(ddlb_job.text, 10)), integer(trim(right(ddlb_dept.text, 10))) )

 

현재 작성되어 있는 스크립트입니다.

 

wf_retrieve 의 두번째 아규먼트가 바로 부서코드값입니다. 이것을 활용하면 되겠네요.

 

위 스크립트 바로 위에 다음 스크립트를 추가합니다.

 

i_dwchild.retrieve(integer(trim(right(ddlb_dept.text, 10))))

 

그럼 전체 스크립트는 요렇게 되죠.

 

i_dwchild.retrieve(integer(trim(right(ddlb_dept.text, 10))))

wf_retrieve( trim(right(ddlb_job.text, 10)), integer(trim(right(ddlb_dept.text, 10))) )

 

i_dwchild 의 retrieve 함수의 아규먼트로 부서코드를 넣었습니다.

부서목록을 선택할 때마다 선택된 부서코드가 아규먼트로 되기 때문에 원하는 결과를 얻을 수 있습니다.

 

실행해서 확인해 봅니다.

 

 

 

 

부서 ddlb의 값이 RESERCH 가 되자 dw_emp 의 부서명 칼럼의 dddw 데이터 목록도 RESEARCH 만 존재합니다. 부서 ddlb 의 값을 전체로 하면 처음으로 돌아갑니다.

 

i_dwchild.retrieve(integer(trim(right(ddlb_dept.text, 10))))

wf_retrieve( trim(right(ddlb_job.text, 10)), integer(trim(right(ddlb_dept.text, 10))) )

 

위 스크립트에서 중복된 코드가 있으므로 편리한 관리를 위해 다음과 같이 작성해 볼 수도 있겠네요.

 

 

int li_deptno

 

li_deptno = integer(trim(right(ddlb_dept.text, 10)))

 

i_dwchild.retrieve(li_deptno)

 

wf_retrieve( trim(right(ddlb_job.text, 10)), li_deptno )

 

 

부서코드 값을 li_deptno 라는 int 변수에 저장한 후 사용했습니다.

 

숙제 풀이는 여기서 끝내고 이번 강의 진행하겠습니다.

 

 

w_list 의 삭제버튼(cb_delete)을 클릭하면 선택된 하나의 로우만 삭제시킵니다.

여러개의 로우를 선택한 후 삭제하고 싶다면?

 

 

 

이 글은 회원 전용입니다.

https://all4museum.tistory.com/entry/%ED%9A%8C%EC%9B%90%EC%A0%9C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%8B%9C%EC%9E%91?category=892450

 

프리미엄 회원 모집

 

all4museum.tistory.com

 

 

Posted by A4M
,