◆설명
DataWinow 편집 control의 내용을 DataWindow control 또는 DataStore 버퍼의 현재 아이템에 적용시킨다.
편집 control에 있는 데이터는 그 아이템에 저장되기 전에 반드시 그 칼럼의 validation rule을 통과하여야 한다.
◆적용
DataWindow controls, DataStore objects, child DataWindows
◆문법
dwcontrol.AcceptText ( )
◆Argument
dwcontrol 편집 control에있는 데이터를 받아들이기 위한
DataWindow control, DataStore 또는 child DataWindow의 이름.
◆Return 값
Integer.
control의 내용을 받아들일 경우에는 1, validation rule을 통과하지 못한 경우처럼 그 내용을 받아들이지 못할 경우에는 -1을 되돌린다.
또한, dwcontrol이 NULL일 경우에는 NULL을 되돌린다.
◆용도
DataWindow control내의 아이템에서 다른 아이템으로 이동할 때, 그 control은 사용자가 편집한 데이터를 평가하고 받아들이게 된다.
DataWindow 아이템을 수정하고 그 윈도내의 다른 control로 focus를 직접 변경하는 경우, DataWindow control은 편집 control에 남아있는 그 수정된 데이터를 받아들이지 않게 된다.
이러한 상황에서 AcceptText 함수를 사용하면 수정된 데이터를 그 아이템에 적용시킬수 있다.
AcceptText는 전형적으로 DataWindow의 LoseFocus event를 벗어난 후 사용자 event내에서 호출된다.
단, ItemChanged event에서 호출한 AcceptText는 아무런 영향을 주지 않는다.
◆Events
AcceptText는 ItemChanged나 ItemError event를 발생시킬 수도 있다.
◆예제
이예는 DataWindow object의 칼럼에서 사원번호를 입력하고 '확인' 버튼을 클릭한 경우를 설명한 것이다.
`확인' 버튼에 관한 Clicked event 스크립트에서 입력된 내용을 평가하기 위하여 AcceptText 함수를 호출하고 그 결과를 DataWindow control에 저장하였다.
다음 스크립트는 사원번호에 관한 행(row)을 구하기 위하여 Retrieve 함수내에서 입력한 아이템(사원번호)을 이용하였다.
IF dw_sabun.AcceptText( ) = 1 THEN
// 입력한 사원번호가 validation rule에 적합하면
dw_emp.Retrieve(dw_emp.GetItemString &
// 그 사원번호에 관한 내용을 발췌한다.
(dw_emp.GetRow( ), dw_emp.GetColumn( )))
END IF
다음은 child DataWindow에서 텍스트를 받아들이는 명령버튼의 Clicked event에 관한 스크립트이다.
DataWindowChild dwc
integer rtn_code
rtn_code = dw_emp.GetChild("sabun_id", dwc)
// 에러를 체크하기위한 문장
dwc.SetTransObject(SQLCA)
dwc.Retrieve("인수(argument)")
... //다른 처리를 위한 문장
dwc.AcceptText( )
'PowerBuilder' 카테고리의 다른 글
파워빌더 "AddCategory" 함수 (0) | 2021.06.23 |
---|---|
파워빌더 "Activate" 함수 (0) | 2021.06.23 |
파워빌더 "ABS" 함수 (0) | 2021.06.14 |
파워빌더 함수 - 4 (R ~ W) (0) | 2021.06.14 |
파워빌더 함수 - 3 (L ~ P) (0) | 2021.06.14 |
댓글