* 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)을 클릭하면 선택된 하나의 로우만 삭제시킵니다.
여러개의 로우를 선택한 후 삭제하고 싶다면?
이 글은 회원 전용입니다.
'파워빌더 기초강의1' 카테고리의 다른 글
파워빌더(PowerBuilder) 강의 - 73.Library (1) | 2017.06.19 |
---|---|
파워빌더(PowerBuilder) 강의 - 72.Find method (DataWindows) (10) | 2014.04.07 |
파워빌더(PowerBuilder) 강의 - 70.GetChild method (DataWindows) (4) | 2014.03.05 |
파워빌더(PowerBuilder) 강의 - 69.Debug & Debugger : Views 2 (0) | 2014.02.05 |
파워빌더(PowerBuilder) 강의 - 68.Debug & Debugger : Views 1 (1) | 2014.01.27 |