본문 바로가기
PowerBuilder

파워빌더 "AcceptText" 함수

by 엔터티 2021. 6. 23.
반응형

◆설명

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( )

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

댓글