Head Band -> 일반적인 문서(Word)에서 표를 만들 때 Tilte을 생각하면 된다
Body Band -> 데이터 영역

현재는 Head, Body 밖에 없어서 Add Summary Row를 선택해서 추가를 해준다

상단 Title은 Dataset의 컬럼정보를 이용해서 컬럼명을 표현
세로로 표현하는 것 -> Column
데이터를 표현하는 것 -> Row
데이터를 표현하는 각각의 단위 -> cell

text 속성을 통해서 Title을 변경할 수 있다

display type을 mask로 바꿔준다
여기서 display type은 사용자에게 보여주는 상태를 나타낸다
그 다음으로 edit type도 mask로 바꿔준다

CellMaskEdit을 찾아 maskedittype을 string, maskeditformat을 AA-###으로 해주면 된다
정렬방법

Grid Contents Editor에서 정렬하고자 하는 cell를 선택하고 textAlign left -> center로 주면 중앙 정렬이 된다
부서 부분을 combo로

display type을 combotext로 edit type는 combo로 해준다

CellCombo로 가서 combodataset ds_dept, combocodecol DEPT_CD, combodatacol DEPT_NAME, combodataset ds_dept로 해준다

이런 결과가 나오게 된다
직위 부분을 combo로

아까랑 비슷한데 combodataset 부분을 ds_pos로 선택하고 combocodecol POS_CD, combodatacol POS_NAME으로 해준다
아까한 작업이랑 차이점은
-> Action의 displlaytype을 combotext가 아니라 combocontrol로 변경했다는 점이다

이런 결과가 나오게 된다
check box

check box는 display type checkboxcontrol, edit type checkbox 이 두개만 해주면 된다

이런 결과가 나오게 된다

Application을 실행한 뒤 Grid cell을 누르면 위의 사진처럼 샘플들이 나와있다
-> 가장 많이 사용하는 4가지를 해본 거고 나머지들은 저 샘플을 참고해서 해보면 될 것이다
지금까지는 별도의 코딩 없이 Dataset을 각각의 컴포넌트에 연결해서 바인딩이라는 기능으로 작업을 진행하였다
바인딩을 이용해서 해결할 수 없는 부분이 있다
-> 특히 Grid의 경우에는 사용자의 요구 사항이 상당히 많다
col0을 누르고 우클릭을 하면 Insert를 누르거나 또는 상단에 Insert을 누르면 내가 선택한 column 바로 앞, Add는 맨 마지막에 추가된다

Experssion 기능을 사용하려면 Set Experssion 아이콘을 누르면 아래 사진처럼 화면이 나온다

여기에 currow + 1을 입력해주면 된다
모든 프로그램은 index 0부터 시작 1부터 표현하기 위해 +1을 해준 것이다

이렇게 사번 앞에 번혹 1 ~ 6까지 생기게 된 것을 볼 수가 있다
첫번째 방법

NO 밑에 부분에 있는 아까 추가했던 Summary Row를 선택한뒤 Set Experssion 아이콘을 누른 뒤 dataset.getRowCount() + '건'을 입력해주면 된다
여기서 dataset의 의미는 현재 Grid에 바인딩 된 Dataset을 의미한다

No 부분 하단에 보면 6건이라고 나오는 것을 볼 수 있다
두번째 방법

사번 밑에 있는 Summary Row를 선택해서 첫번째 방법이랑 똑같이 하는데 comp.parent.ds_emp.getRowCount() + '건' 이렇게 입력을 해주면 된다
comp.parent. -> Scope이다
comp.parent.ds_emp는 Dataset을 직접 접근하는 방법이다
-> Dataset을 접근하게 되면 Dataset에 있는 모든 메서드를 사용할 수 있다
-> getRowCount()로 건수를 구하고 + '건' 하면 된다
두번째 방법을 알려준 이유
-> Experssion을 작성하다 보면 바인딩 된 Dataset이 아닌 다른 Dataset도 참조를 할 수 있기 때문이다
Salary 합계 구하기

급여 밑 하단 부분에 있는 Summary Row를 선택해서 첫번째 방법이랑 똑같이 하는데
dataset.getSum("SALARY")이라고 입력을 해주면 된다
dataset은 ds_emp를 의미한다
여기서 중요한 것은 getSum()을 하기 위해 사용한 SALARY컬럼의 Type이 Integer(숫자형)이어야 한다는 점이다

급여의 합계가 나오는 것을 볼 수 있다

보기에 안 좋은 부분이 있다
-> 숫자 표현을 , 없이 출력한 것이다
그래서 displaytype을 number로 설정해주면 위의 사진처럼 나오는 것을 볼 수가 없다
성별은 combo형태가 아니라 Javascript 중 삼항연산 방법을 이용할 것이다

body band의 성별을 누르고 Set Expression을 눌러 GENDER == "M" ? "남자" : GENDER == "W" ? "여자" : "기타"라고 입력해주면 된다
GENDER == "M"까지가 조건문이고 조건이 참이면 남자, 거짓이면 다시 GENDER == "W" 참이면 여자 아니면 기타

남자 여자 또는 기타 이런 식으로 조건에 맞으면 나오는 것을 볼 수 있다

사번 앞에 Insert를 해줘서 컬럼 하나를 만들어주고 Head band는 사번정보라고 해주고 사번정보의 Body Band를 누르고 Set Expression을 눌러 EMPL_ID + "-" + FULL_NAME라고 입력해주면 된다
이때 중요한 것이 연산은 Dataset컬럼의 Type을 가지고 연산이 된다
-> EMPL_ID와 FULL_NAME의 컬럼의 Type이 숫자형태이면 +연산이 되고, 하지만 Type이 string이고 중간에 구분자("-")를 했기 때문에 문자열의 조합이 된다

사번이랑 성명이 같이 잘 나오는 것을 볼 수가 있다

사원정보 앞에 두 개의 column을 추가해주고 Head의 첫 번째 Title text 속성에 var1, 두 번째 Title text 속성에는 var2을 입력한다

body band의 var1의 text Set Experssion을 선택한 뒤 comp.parent.var1라고 입력해준다
var1처럼 body band의 var2의 text Set Experssion을 선택한 뒤 comp.parent.var2라고 입력해준다
컴포넌트에서 Form에 선언한 this변수를 접근할 때는 this. 기술하지 않고 바로 변수를 작성한다

실행된 결과를 보면 var1에는 값이 보이지 않는다 하지만 var2는 참조가 되고 있다
-> Form과 Form간 값을 참조할 때도 this변수는 참조가 가능하지만 var변수는 참조가 되지 않는다

Script 부분에 위 이미지와 같이 작성을 해 주면 된다

사원정보 앞에 Column를 추가해 주고 Head에는 fn, Body에는 Set Experssionㅇ르 눌러 comp.parent.fn_name(currow + 1)라고 입력해주면 된다
Grid의 parent에 함수 fn_name(..)을 호출하는데 parameter로 currow + 1을 넘겨준다
-> 해당 값이 실행이 되면 1 pos, 2 pos, ....형태로 나오게 된다

위 이미지처럼 실행을 하면 볼 수 있다
대표적으로는 round이다
nexacro.round()를 사용하면 여러 줄로 작성하는 것을 한 줄로 표현할 수 있다