기타 프로그램/oz
[ 오즈 리포트 디자이너 ] 오즈스크립트 와 자바스크립트
곰돌이생각해보니
2021. 7. 24. 16:26
오즈스크립트와 자바스크립트로 어떻게 오즈의 개체들을 사용하는지 공부해보자.
✨오즈스크립트
- 자료형 : int, double, string, Date
- 데이터 필드 정의 : #데이터셋명.필드명# or #필드명#
- 사용자 지정 파라미터, 폼 파라미터 정의 : #OZParam.파라미터명#, #OZFormParam.파라미터명#
- 전역 변수 선언 : global pagesum;
- 전역 변수 초기화: ::pagesum = 0;
- 지역 변수 선언 : double pagenum;
- 지역 변수 초기화 : pagenum = 0;
🍕자바스크립트
- var 로 선언하고 변수의 내용에 따라 타입이 결정된다.
- 전역 변수 초기화 : SetGlobal("pagesume", 0);
- 전역 변수 사용 : This.SetText( GetGlobal("pagesume"));
- 지역 변수 선언 및 초기화 : var pagesume = 0;
- 예약어 This : 현재 컴포넌트
- 주요 이벤트
🍔 디버깅
🍟 적용 할 만한 자바스크립트 예제
✔ 페이지 마다 5건씩 출력하기
SCRIPT_BEGIN .Report1.FixedTableLabel1.OnBind // 리포트명.하위요소명.이벤트(여기선 바인딩 될 때)
if(This.GetDataSetRowIndex() % 5 == 0) // 행 인덱스를 5로 나눈 나머지 값이 0인 경우
This.SetForceNewPage(true); // 강제로 페이지 넘기기
}
SCRIPT_END
✔ 날짜 포맷 적용하기
SCRIPT_BEGIN .Report1.Label23.OnBind // 리포트1의 라벨23이 바인딩 될 때 스크립트가 시작된다.
var currData = This.GetDataSetValue("데이터셋명.필드명"); // 데이터 필드 값을 변수에 설정 "yyyy-mm-dd"
var newText = _FormatDate(_ParseDate(currData, "currData의 현포맷"), "yyyy/MM/dd"); //문자열을 날짜값
(double)로 변환한 후 포맷 설정
This.SetText(newText); //라벨 텍스트 변경
SCRIPT_END
참조 https://www.forcs.com/kr/file/OZReport%208.0%20trainingbook.pdf