728x90

AcceptText PowerScript Function

◆ 기 능

DataWindow edit control의 내용을 DataWindow control buffer의 current item에 적용시킨다. edit control에 있는 data는 item에 저장되기 전에 column에 대한 validation rule을 통과해야만 한다.

◆ 적 용

DataWindow controls과 child DataWindows

◆ 문 법

DataWindowName.AcceptText ()

Parameter

Description

datawindowname

에디트 컨트롤에 내장된 자료를 받아들이고자하는 데이터윈도우이름과 자식 데이터원도우

◆ 반환값

Long. 정상적으로 수행되면 1, 실패하면 -1을 리턴한다.

사용법

사용자가 DataWindow에서 item에서 item으로 이동할 사용자가 edit data 맞는지 확인하고 받아들인다.사용자가 window에서 다른 control 즉시 바꾼 DataWindow item 기록할 DataWindow data 받아들이지 않는다. data edit control 남아있다.

DataWindow object가 사용자가 edit한 data를 포함하고 있다는 것을 확인하는 AcceptText()를 사용한다. AcceptText를 ItemChanged event에서 호출하지 말아야 한다.

예제

이 예제는 사용자가 데이터윈도우 오브직트의 칼럼안에 사번과 같은 키값을 입력하고 ok button 클릭할것이라는 기대를 하는 경우이다. clicked event 위한 script 기재된 내용을 확인하고 그것을 데이터윈도우 콘트롤안에 위치하기 위해 accepttext 호출한다. 그때 script 킷값의 행을 검색하기 위해 retrieve함수안에 아이템을 사용한다.

IF dw_emp.AcceptText() = 1 then

dw_emp.Retrieve(dw_emp.GetItemString(dw_emp.GetRow(),dw_emp.GetColum()))

END IF

command button의 click 사건을 위한 이 script는 dw_emp 데이터 윈도우안의 텍스트를 적용시키고 balance 열이 0보다 큰 행의 수를 센다.

Integer I, count

dw_emp.AcceptText()

FOR I = 1 to dw_emp.rowcount()

IF dw_emp.GetItemNumber(I, 'balance') > 0 THEN

count = count +1

END IF

NEXT

cliked 사건을 위한 이 script는 child datawindow안의 텍스트를 적용한다.

DataWindowChild dwc

integer rtncode

rtncode = dw_emp.GetChild("emp_id",dwc)

dwc.SetTransObject(sqlca)

dwc.Retrieve("argument")

.....

dwc.AcceptText()

AddItem PowerScript Function

■ 기능

임의의 리스트박스의 리스트 값에 새로운 항목을 추가한다.

■ 문법

listboxname.AddItem(item)

Parameter Description

---------- -----------------------------------------------------

listboxname item을 추가하고자 하는 listbox나 DropDownLisrBox 이름

item 추가하고자 하는 item의 문자값은 text이다.

반환값

Integer. 새로운 아이템의 위치를 반환한다. 리스트가 소트되어 있다면 리턴된 위치는 리스트가 소트된 후의 아이템의 위치이다. 실패하면 -1을 반환한다.

사용법

ListBox가 이미 아이템을 포함하고 있다면 AddItem은 리스트의 끝에 새로운 아이템을 추가한다. 만약 리스트가 소트되어 있다면 PowerBuilder는 아이템이 첨가된 후에 리스트를 다시 소트한다.

예 제

integer rownbr

string s

s = "Edit File"

rownbr = lb_Actions.AddItem(s)

// 이 예제는 ListBox lb_Actions에 Edit File 아이템을 추가한다.

Check PowerScript Function

◆ 기 능

downdrop이나 cascade menu에서 item 다음에 체크표시를 하고 item의checked 속성이 true가 된다.

적 용

Menu object에 있는 menuitem

문 법

menuitem.Check ()

Parameter Discription

--------- ------------------------------------------------------

menuitem 메뉴바의 item이 아니라 downdrop이나 cascade menu이어야

한다.

◆ 사용법

메뉴 item 다음의 체크표시는 메뉴의 선택사항이 현재 작동하고 있으며 사용자가 그것을 선택함으로써 선택사항이 작동하는지 안하는지를 알려준다. 사용자는 선택사항을 작동하게 할때 메뉴 item 표시하기 위해 item Checked라는 스크립트에 check 사용할 있다. 선택사항을 작동시키지 않을 때는 check 없애기 위해 uncheck 사용할 수 있다.

◆ 상당어구

check를 호출하는 대신 MenuItem의 Checked 속성을 지정할 수 있다.

menuitem.Checked = True

◆ 예 제

m_Appl.m_View.m_Grid.Check()

// 이 용례는 m_Appl 메뉴바 상의 m_View dropdown 메뉴의 m_Grid

메뉴항목 다음을 체크한다.

Close PowerScript Function

기 능

window 또는 OLE storage 또는 stream을 닫는다.

적 용

(문법 1) Window objects

(문법 2) OLEStorage objects

(문법 3) OLEStream objects

문법 1

Close(windowname)

windowname 닫고자하는 윈도우의 이름

반환값 1

Integer. 성공하면 1을 반환하고 실패하면 -1을 반환한다.

문법 2

olestorage.Close()

olestorage 저장하고 닫기를 원하는 OLEStorage object 변수

반환값 2

Integer. 성공하면 0을 반환하고 실패하면 -1 또는 -9를 반환한다.

사용법

윈도우 내의 모든 control들과 윈도우에 의해 점유되었던 기억장소를 해제하고 윈도우를 닫는다. Close 함수를 호출하면 powerbuilder view에서 윈도우를 제거하고 윈도우를 닫고, Close event Closequery 대한 스크립트를 수행한다. 그리고나서 Close 함수를 부른 스크립트에서 나머지 문장을 수행한다. 윈도우가 닫혀진 , 속성들과 instance variable, control들은 스크립트에서 이상 참조될 없다. 스크립트의 문장이 닫혀진 윈도우나 속성들, 또는 instance variable, control들을 참조한다면 실행 에러가 발생한다.

예 제

다음은 윈도우 w_employee 닫는 형식을 표현하고 있다.

Close( w_employee )

CloseQuery event에 대한 스크립트에서 다음 문장은 어플리케이션을 빠져나가기 전에 사용자에게 확인을 받는다.

IF MessageBox ( 'ExitApplication', 'Exit!', &

Question!, YesNo! ) = 1 Then

Close ( w_employee )

END IF

만약 Yes이면 윈도우를 닫고, No이면 아무런 action 행하지 않는다.

CloseWithReturn PowerScript Function

기 능

윈도우를 닫고 메시지 객체에 리턴값을 저장한다. 응답 윈도우에 대해서만 CloseWithReturn 사용할 있다. 윈도우 객체에 적용된다. 주어진 윈도우를 닫을 윈도우를 화면에서 보이지 않게 아니라 원도우가 소유하고 있던 모든 리소스를 제거한다.

적 용

window objects

문 법

CloseWithReturn (windowname, returnvalue)

windowname에는 close하고자 하는 윈도우의 이름을 기입한다. returnvalue에는 윈도우가 close 될 때 메시지 객체에 저장하고자 하는 값을 기입한다. Returnvalue에는 string, numeric, powerobject와 같은 데이터 타입이 적용된다.

반환값

Integer. 성공일 때에는 1을 리턴하고, 실패일 때에는 -1을 리턴한다.

사용법

CloseWithRetun의 목적은 응답 윈도우를 닫고 그 응답 윈도우로부터의 정보를 그 윈도우를 열었던 윈도우로 리턴하는 것이다. 윈도우 내의 모든 control들과 윈도우에 의해 점유되었던 기억장소를 해제하고, 윈도우를 닫고 값을 리턴하기 위해 사용한다. Close와 같이 ClosewithReturn은 view에서 윈도우를 제거하고 그 윈도우를 닫고, Close event와 Closequery에 대한 스크립트가 있다면 그것을 수행한다. event 스크립트를 수행하기 전에 메시지 객체에 returnvalue를 저장한다. powerbuilder는 Close 함수를 호출한 스크립트의 나머지를 수행한다.

예 제

다음은 응답 윈도우 w_employee_response 닫고 그것을 열었던 윈도우에 문자열 emp_name 리턴한다.

CloseWithReturn (Parent, "emp_name")

Date PowerScript Function

기 능

DateTime형, string형 이나 숫자형의 데이터를 date형으로 변환한다. 또한 bolb형도 가능하다. 함수에 들어오는 Parameter의 자료형에 의해 세가지 Syntex중 한가지를 사용 할수 있다.

* Syntex1 : DateTime형, blob형에 의해

* Syntex2 : string형을 date형으로 형변환

* Syntex3 : 수치값에 의해

문법 1

Date(datatime)

parameter Description

datetime DateTime 자료나 blob에 저장된 자료의 첫번째 값은

date또는 DateTime 값이다.

반환값 1

date형이다. datetime형을 date형으로 리턴한다. datetime값이 date형에 맞지않는 자료형이면 Date함수는 1900-01-01을 리턴한다.

문법 2

Date(string)

parameter Description

---------- ---------------------------------------------------

string string형의 값은 January 1,1998이나 12-31-99 이어야지

date 형으로 리턴 된다.

반환값 2

date형이다. string형을 dategud으로 리턴한다. date형에 맞지않으면 Date함수는 1900-01-01을 리턴한다.

문법 3

Date(year, month, day)

parameter Description

---------- ---------------------------

year 년 (-9999 에서 9999까지)

month 월 (1에서 12까지)

day 일 (1에서 31까지)

반환값 3

date형이다. 년, 월, 일의 정수로 특정지어진 date형의 값이 리턴된다. 만약 각각의 값이 범위에 들지않으면, Date함수는 1900-01-01을 리턴한다.

사용법

string안에 알맞은 날짜(1부터 31), 달수(1부터 12), 그리고 두개나 네개로 이루어진 년도수의 조합으로 이루어지게 된다. 한자리수의 날짜나 달수 앞에 '0'을 붙일 것인지는 옵션이다.

Date litral은 yyyy-mm-dd의 format을 갖고 있다.

예 제

1. 데이터 베이스로부터 ldt_StartDateTime에 DateTime형의 값을 활당 받은 다음, ldt_StartDateTime의 date값을 date형 ld_StartDate에 셋팅한다.

DateTime ldt_StartDateTime

date ld_StartDate

ld_StartDate = Date(ldt_StartDateTime)

데이터베이스로부터 ib_blob blob 값을 활당받은 다음, ib_bolb 32byte부터 date값을 date ld_date 셋팅한다.

date ld_date

ld_date = Date(Blobmid(ib_blob,32))

2. 이들 문장들은 모두 July 4, 1994(1994-07-04)를 표현하는 date형을 리턴한다. 시스템은 month의 위치를 가운데에로 setting시켜준다.

Date("1994/07/04")

Date("1994 July 4")

Date("July 4, 1994")

위의 예제는 sle_start_date 올바른 date인지 먼저 확인하고, 아닌 경우에는 message display한다. 첫번째 version Date() 결과를 통해 date 올바른지 알아보고, 두번째 version에서는 IsDate() 사용하여 Date() 사용하기 전에 확인해 본다.

version 1:

date ld_my_date

ld_my_date = Date( sle_start_date.Text )

IF ld_my_date = Date("1900-01-01") THEN

MessageBox("Error", "This date is invalid: " &

+sle_start_date.Text )

END IF

version 2:

date ld_my_date

IF IsDate( sle_start_date.Text ) THEN

ld_my_date = Date(sle_start_date.Text )

ELSE

MessageBox("Error", "This date is invalid: " &

+ sle_start_date.Text )

END IF

3.이 예제는 ld_my_date를 1994-10-15로 set하기 위해서 정수값을 사용한다.

date ld_my_date

ld_my_date = Date( 1994, 10, 15 )

Day PowerScript Function

기 능

주어진 date형의 값에서 일자를 가져온다.

문 법

Day( date )

parameter Description

--------- -------------------------------------

date Date형으로 부터 day를 가져온다.

반환값

date에서 일자(1부터 31) 정수를 리턴한다.

예 제

다음 예제는 1994-01-21에서 날짜인 31 반환한다.

integer li_day_portion

li_day_portion = Day(1994-01-31)

다음 예제는 sle_date에서 date 확실히 하기위해 체크하여 그럴 경우

li_day_portion에 sle_date의 날짜를 입력한다.

integer li_day_portion

IF Isdate(sle_date.Text) THEN

li_day_portion = Day(Date(sle_date.Text))

ELSE

MessageBox("Error","This date is invalid:"+sle_date.Text)

END IF

DayAfter PowerScript Function

기 능

기존의 날짜로부터 차이 일 수를 알아낸다.

문 법

DaysAfter( date1, date2 )

parameter Description

---------- ----------------------------------------

date1 측정될 차이 일수의 기준 날짜.

date2 차이 일수의 끝 날짜의 값

반환값

Long형이다. date1이 있은 후, date2까지의 경과된 날짜수의 값을 long형으로 리턴한다. 만약 date2가 date1보다 이전이면, DaysAfter함수는 음수를 리턴한다.

예 제

// 4를 리턴한다.

DaysAfter( 1996-12-20, 1996-12-24 )

// 4를 리턴한다.

DaysAfter( 1996-12-24, 1996-12-20 )

// 0을 리턴한다.

DaysAfter( 1996-12-24, 1996-12-24 )

//5를 리턴한다.

DaysAfter( 1994-12-29, 1995-1-3)

만약 date형변수 date1 date2 February 16,1995, April 28,1995, 각각 입력하고

date date1, date2

date1 = 1996-02-16

date2 = 1996-04-28

그리고 DaysAfter함수를 사용하면 71 리턴한다.

DaysAfter( date1, date2 )

DaysAfter( 1996-02-16, date2 )

DaysAfter( date1, 1996-04-28 )

DaysAfter( 1996-02-16, 1996-04-28 )

date 형으로 선언된 변수를 사용하나, 직접 날짜를 사용하나 같은 결과가 나온다.

DeletedCount PowerScript Function

◆ 기 능

데이터베이스에서 삭제된 행들의 갯수를 알아낸다.

◆ 문 법

datawindowname.DeletedCount()

Parameter

Description

datawindowname

삭제했었던 행의 숫자 그러나 연관된 데이터베이스 테이블에는 갱신되지 않은 자식데이타원도우나 데이터윈도우 컨트롤의 이름

◆ 반환값

long datawindowname에서 삭제되고 연결된 database table에서는 변경되지 않은 행의 수를 반환한다. 지워진 행이 없거나 모두 database table 에서 변경되었다면 0을 반환하고 에러 발생시 -1을 반환한다.

사용법

변경할수 있는 datawindow control 개의 buffer 갖고 있다. primary buffer 현재 보여지는 행을 저장한다. delete buffer deleterow 함수로 지워진 행을 저장한다. 행들은 database에서 변경될 까지 저장된다. DeleteConut fh delete buffer안에 있는 모든 행의 수를 알수 있다.

예 제

만약 두행이 dw_emp에서 삭제되고 아직 연결된 database에서 변경되지 않았다면 예제는 ll_deld 2 저장된다.

long ll_del

ll_del = dw_emp.DeleteCount()

다음 예제는 delete buffer 안에 행들이 있는 test한다. 그리고 있다면 database table 변경한다.

long ll_del

ll_del = dw_emp.DeleteCount()

IF ll_del <> 0 THEN dw_emp.Update()

DeleteItem PowerScript Function

기 능

ListBox나 DropDownListBox의 제어를 위해 특정 list의 item을 삭제한다.

적 용

ListBox와 DropDownListBox의 제어

문 법

listboxname.DeleteItem(index)

Parameter Discription

---------- ---------------------------------------------------

listboxname 삭제하고자 하는 item을 포함하고 있는 listbox나

DropDownListBox 이름

index 삭제하고자 하는 item의 위치

반환값

integer. item이 삭제된 후 list에 남은 item의 수를 리턴한다.

실패하면 -1 리턴한다.

예 제

integer li_Index

li_Index = lb_action.SelectedIndex()

lb_action.DeleteItem(li_Index)

// lb_actions에 있는 첫번째 선택된 아이템을 제거한다.

lb_purpose.DeleteItem(lb_purpose.FindItem("Personal", 1))

// ListBox lb_purpose로부터 "Personal" 아이템을 제거한다.

DeleteRow PowerScript Function

기 능

데이터윈도우 콘트롤이나 child datawindow에서 행을 삭제한다.

적 용

DataWindow controls와 child datawindows

문 법

DataWindowName.DeleteRow(row)

Parameter Description

------------ ---------------------------------------------

datawindowname 삭제하고자하는 row의 datawindow 이름

row 삭제될 row의 위치

반환값

long. 정상적으로 삭제되면 1을, 실패하면 -1을 return.

사용법

Deleterow는 DataWindow의 primary buffer의 row를 삭제한다.

DataWindow control이 갱신불가능하면 그 row와 관련된 모든 기억장소가 없어지고, 갱신가능하면 DeleteRow는 그 row를 delete buffer에 보낸다.

application이 Update함수를 호출할 때까지 해당 row는 database로부터 삭 제되지 않는다.

예 제

이 예제는 dw_emp에서 현재행을 삭제시킨다.

dw_emp.DeleteRow(0)

5번째 행을 삭제시키고 데이터베이스에서 변경시키는 예제

dw_emp.DeleteRow(5)

dw_emp,.Update()

Describe PowerScript Function

기 능

DataWindow 요소들에대한 정보를 리턴한다.

데이타윈도우내의 오브젝트들에 대한 속성을 알아낸다.

문 법

datawindowname.Describe (attributelist )

datawindowname에는 구조에 대한 정보를 얻고자 하는 데이터위도우나 차일드데이터 윈도우의 이름을 기입한다.

attributelist에는 Evaluate 함수 혹은 속성의 공백으로 분리된 리스트의 값이 담긴 문자열이 들어간다.

objectname.attribute

tab character(~t) 는 문자열 안의 값들을 분리하는데 사용된다. objectname에는 데이터 윈도우 페인터는 자동적으로 열의 이름과 열 레이블을 표시해 준다.

Attriute Reported Values

datawindow.Bands header~tdetail~tsummary

datawindow.objects emp~tempname~temp_h

emp.Type column

empname.Type column

empname_h.Type text

emp.Cottype char(20)

state !(잘못된 아이템을 표시)

empname_h.Visible ?

반환값

string. 정상적인 경우 각 속성에대한 값이나 평가함수(evaluate Fn)를 포함하는 문자열을 리턴한다. 개행문자는 (~n)는 Attribute List에있는 각 아이템의 값을 구분짓는다.

Attribute List에서 잘못된 Item이 있으면 "!"를 리턴하고 Attribute List의 나머지를 무시한다. 속성에 값이 없는 경우에는 "?"를 리턴한다.

사용법

DataWindow의 구조를 이해하는데 Describe함수를 사용한다. 예를들어 사용자는 일련의 DataWindow사용법과 칼럼의 데이터타입을 찾을 수 있다. 현재 속성값을 찾고 추가 수정을 하는 데 Describe함수를 사용할 수 있다.

Describe함수는 종종 구문을 수정하기위해 DataWindow의 SELECT문장을 포함한다. (예. WHERE 절을 추가하는데 사용)

예 제

아래 예제는 속성들의 리스트를 가지고 Describe함수를 호출한 것이다.

string Is_request, Is_report

Is_request="DataWindow.Bands DataWindow.Objedct"&

+"empname_n.Text" &

+"empname_h.Type emp.Type emp.Coltype" &

+"state.Type empname.Type empname_h.visible"

Is_report=dw_1.Describe(Is_request)

Describe함수는 Is_report값을 아래 스트링으로 놓을수 있다.

header~tdetail~tsummary~tfooter~theader. 1~ttrailer.1~N

emp~tempname~temp_h~tempname_h~N"Employee~R~NName"cb~N text~n

column~Nchar(20)~N!

Disable PowerScript Function

기 능

menuitem의 글자 색깔을 흐릿하게(대개 회색으로) 만들고, 사용자는 이 아이템을 선택할 수 없게 된다.

적 용

Menu object에 있는 menuitem

문 법

menuitem. Disable ()

Parameter Discription ---------- ---------------------------------------------

menuitem 비활성화시키고자 하는 menuitem 이름

반환값

integer. 성공하면 1, 실패하면 -1을 리턴.

menuitem의 Enabled 속성을 지정하는 것은 Disable을 호출하는 것과 같다.

, menu_appl.m_delete,Enabled = False menu_appl.m_delete.Disable()

과 같다

예 제

mwnu m_appl의 m_edit Menuitem을 비활성화한 문장:

menu_appl.m_edit.Disable()

Enable PowerScript Function

기 능

메뉴에 있는 item 이용 가능하도록 하고 사용자는 그것을 선택할 있다.

적 용

Menu objects에 있는 Menuitems

문 법

menuitem. Enable ()

Parameter Description

---------- ----------------------------------------------

menuitem enalble시키고자 하는 menuitem 의 이름

반환값

Integer 성공하면 1, 실패하면 -1을 리턴.

사용법

메뉴 아이템을 enable 하면 색깔이 활성화된 색으로 변하고 enable

호출하면 아이템의 속성을 true 지정한다.

menuitem의 Enabled 속성을 지정하는 것은 Enable을 호출하는 것과 같다.

, menu_appl.m_delete,Enabled = True menu_appl.m_delete.Enable() 같다.

예 제

m_appl.m_delete,Enable()

메뉴 menu_appl menuitem m_delete 동작할 있게 한다.

FindItem PowerScript Function

기 능

임의의 찾고자 하는 텍스트를 찾기 시작하는 리스트박스나 DropDownListBox에서 다음 항목을 찾는다.

문 법

listboxname.FindItem(text,index)

Parameter Description

---------- -----------------------------------------------

listboxname 찾고자 하는 item을 포함하고 있는 listbox명

text 찾고자 하는 item명

index 탐색을 시작할 위치(item의 번호)

반환값

Integer. 첫번째 매칭되는 아이템의 인덱스를 리턴한다. 매치시키기 위해서 아이템은 지정된 텍스트에서 출발해야 한다. 그러나 아이템에 있는 텍스트는 지정된 텍스트보다 길수 없다. 매치되는 것을 찾을 수 없거나 에러가 발생하면 -1을 반환한다.

사용법

FindItem이 매칭하는 아이템을 찾을 때 그 아이템을 선택하지 않은 아이템의 인덱스를 리턴한다. 아이템을 찾아서 선택하기 위해서 SelectItem function을 사용하라.

예 제

ListBox lb_actions이 다음의 리스트를 포함한다고 가정하자.

index number Item text

1 Open files

2 Close files

3 Copy files

4 Delete files

integer Index

Index = lb_actions.FindItem("Delete", 2)

// 아이템 2(Close files)를 가진 출발을 제거하기 위하여 검색을 시작한다. FindItem은 인덱스를 4로 지정한다.

GetClickedColumn PowerScript Function

기 능

DataWindow 에서 click 또는 double click한 column의 번호를 얻는다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName.GetClickedColumn()

Parameter Description

------------- ----------------------------------------------

DataWindowName click 또는 double click한 column에 대한

DataWindow의 이름

반환값

integer.유저가 datawindowname의 열을 클릭, 더블클릭하면 열의 번호를 반환한다.

특정한 열(예를들면 데이타의 범위 , 열사이의 공간이나 문자, header, summary, footer area부분) 클릭하거나 더블클릭하지 않으면 0 반환한다.

사용법

데이타윈도우 컨트롤에 대해 클릭이나 더블클릭의 이벤트가 발생되면 GetClickedColumn 호출한다.

User가 열(Column)에 클릭했을때, 즉 클릭이나 더블클릭후에 현재 열에 표시된다.

GetColumn, GetClickedColumn의 이벤트가 발생하는 동안 다른값이 반환될 수 있다. User가 다른 방법 즉 tab를 이용하여 열을 이동시킨다면 GetClickedColumn를 사용했다고 볼 수 없다.

예 제

dw_Employee의 열을 User가 클릭 또는 더블클릭하면 열의 번호를 표시한다.

integer li_ColNbr

li_ColNbr = dw_Employee.GetClickedColumn()

GetClickedRow PowerScript Function

기 능

DataWindow에서 click 또는 double click한 row의 번호를 얻는다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName.GetClickedRow()

Parameter Description

------------- ----------------------------------------------------

DataWindowName click 또는 더블클릭한 row에 대한 DataWindow의 이름.

반환값

Long.

DataWindowName에서 click 또는 double click된 row의 번호를 반환한다.

row을 click 또는 double click하지 않았을시 zero(0)값을 반환한다.

(예를 들어 data 영역을 벗어나 row 사이의 공간에서, 또는 header, summary, footer영역에서 click 또는 double click 시)

사용법

데이타윈도우 컨트롤에 대해 클릭이나 더블클릭의 이벤트가 발생되면 GetClickedRow 호출

User가 행(Row)에 클릭했을때, 즉 클릭이나 더블클릭후에 현재 행에 표시된다.

GetRow, GetClickedRow의 이벤트가 발생하는 동안 다른값이 반환될 수 있다.

User가 다른 방법 즉 tab를 이용하여 행을 이동시킨다면 GetClickedRow를 사용했다고 볼 수 없다.

예 제

dw_Employee의 행을 User가 클릭 또는 더블클릭하면 행의 번호를 표시한다.

long ll_RowNbr

ll_RowNbr = dw_Employee.GetClickedRow()

GetColumn PowerScript Function

기 능

현재 열의 번호를 나타낸다. 현재 열이란 초점(focus) 지시하고 있는 곳을 말한다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName.GetColumn()

Parameter Description

------------- --------------------------------------------------

DataWindowName 현재 column에 대한 DataWindow의 이름

반환값

Integer. DataWindowName에서 현재 column의 번호를 반환한다.

현재의 column 없으면 zero(0), error 발생하면 '-1'값을 반환한다.

사용법

GetColumn 과 GetclickedColumn을 클릭 또는 더블클릭 했을 때 다른 값이 반환 될 수 있다.

유저가 클릭한 현재 열은 이벤트을 발생한 후 까지는 현재 열의 번호를 나타내지 않는다. 열의 이름이 필요하다면 GetColumn 대신에 GetColumnName 사용하라.

데이타윈도우는 사용하지 않을때나 적어도 한개의 열이 사용중일때에도 현재 열의 번호를 가지고 있다.

예 제

dw_Employee의 현재 열의 번호를 리턴한다.

Integer li_ColNbr

li_ColNbr = dw_Employee.GetColumn()

GetItemXXXX PowerScript Function

기 능

DataWindow의 buffer로부터 자료를 얻고자할 때 사용한다.

DataWindow buffer의 각 field는 item이라고 부르며 각 item은 관련 함수 를 사용해서 참조할 수 있다.

GetItem()들은 인수로서 row과 column(번호나 column 이름으로써)을 요구한다.

또한 buffer 명시할수도 있으며(Primary default이다), database로부터 색된 원래의 값을 얻기 위한 인수를 추가할 수도 있다.

적 용

DataWindow control 및 자식 DataWindow.

함수의 종류

GetItemDate()

GetItemDateTime()

GetItemNumber()

GetItemString()

GetItemStatus()

GetItemTime()

상태 code

row buffer 갖는다.

#Primary!

#Delete!

#Filter!

item 역시 상태 code 가지고 있다.

#NotModified! 변경되지 않은 상태

#DataModified! 사용자에 의해 변경되었음

#New! 새로 삽입된 item

#NewModified! 변경되어진 새로운 item

row들도 역시 상태들을 가진다.

#New! 추가된 row

#NewModified! 변경되어진 새로 추가된 row

#DataModified! 변경된 field를 포함

#notModified! 검색이후로 변경되지 않음

GetItemDate PowerScript Function

기 능

데이터윈도우콘트롤의 특정 버퍼로부터 자료형이 Date 데이터를 얻는다.

primary, delete, filter 버퍼안에 있는 현재 값들 뿐만 아니라 데이타베이스에서

검색되고, 저장되어진 데이타를 original 버퍼로 부터 얻을 있다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName. GetItemDate(row,column{,dwbuffer,originalvalue})

Parameter Description

-------------- ------------------------------------------------

dwbuffer(선택) data를 얻고자하는 DataWindow buffer의 열거형 data 값.

originalvalue(선택) column 및 row의 최초 또는 현재값을 나타내는

boolean 값.

.TRUE - database로부터 최초로 검색된 값을 반환.

.FALSE - 현재값을 반환(default) dwbuffer를 지정시, originalvalue 또한 지정해야한다.

반환값

Date. 열의 값이 널이면 널값을 반환

에러발생시 1900-01-01 반환하고 시스템에러유발

예 제

dw_employee의 first_day의 컬럼에서 기본버퍼의 세번째 행에서 현재 Date형

데이타로 HireDate set.

Date HireDate

HireDate = dw_employee.GetItemDate(3, "First_Day")

dw_employee의 first_day의 컬럼에서 필터버퍼의 세번째 행에 현재 Date형

데이터로 HireDate 세트.

Date HireDate

HireDate = dw_employee.GetItemDate(3, "First_day", Filter!)

dw_employee의 hdate의 컬럼에서 기본버퍼의 세번째 행에 처음 Date형 데이터로 Hire-Date를 세트.

Date HireDate

HireDate = dw_employee.GetItemDate(3, "hDate", Primary!,TRUE)

GetItemDateTime PowerScript Function

기 능

DataWindow 컨트롤의 특정 버퍼로 부터 자료형이 DateTime인 데이터을 얻는다.

primary, delete, filter 버퍼안에 있는 현재 값들 뿐만 아니라 데이타베이스에서

검색되고, 저장되어진 데이타를 original 버퍼로 부터 얻을 있다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName.GetItemDateTime(row,column{,dwbuffer,originalvalue})

Parameter Description

------------ --------------------------------------------------

DataWindowName row와 column에 포함된 DateTime data에 대한

DataWindow의 이름

row data의 row의 위치

column data의 column의 위치

자료형은 DateTime

dwbuffer(선택) Primary!(default)

Delete!

Filter!

originalvalue TRUE

(선택) FALSE(default)

반환값

DataTime. 열의 값이 널이면 널값을 반환

에러발생시 1900-01-01 00:00:00.000000 리턴하고 시스템에러 유발

사용법

오리지널 버퍼에 있는 행에 접근하기위해서는 행이 현재 자리하고있는 버퍼와

그 버퍼에서 행의번호를 지정해야한다.

예 제

dw_emp 데이타윈도우의 start_dt 컬럼의 세번째행에 대해 기본버퍼에 현재

날짜시간형 데이터로 AsOf 세트.

DateTime AsOf

AsOf = dw_emp.GetItemDateTime(3, "start_dt")

dw_emp의 end_dt의 컬럼 세번째행에 대해 삭제버퍼에 현재 날짜시간형 데이터로 AsOf를 세트.

DateTime AsOf

AsOf = dw_emp.GetItemDateTime(3, "end_dt", Delete!)

dw_emp의 end_dt 컬럼 세번째행에 대해 기본버퍼에 오리지널 날짜시간형 데이터로 AsOf를 세트.

DateTime AsOf

AsOf = dw_emp.GetItemDateTime(3, "end_dt", Primary!, TRUE)

728x90

'PowerBuilder' 카테고리의 다른 글

datawindow does not hava update capability  (0) 2012.07.29
SELECT ERROR: column lists do not match  (0) 2012.07.29
파워빌더 함수 4  (0) 2012.07.29
파워빌더 함수 3  (0) 2012.07.29
파워빌더 함수 2  (0) 2012.07.29

+ Recent posts