넥사크로 데이터 셋
넥사크로는 기본적으로 데이터셋을 그리드에 연결해주면 데이터셋이 변경될때마다
바인딩하고있는 그리드의 내용 또한 변경된 것이 반영된다.
데이터셋이란? 데이타를 테이블 형태로 저장하는 오브젝트입니다.
라고 나와있다. 내 생각에는 데이터셋이 자바의 리스트 같은 느낌이다.
데이터셋에 내가 생각하는 클래스형태(VO)의 데이터를 추가,삭제,변경할 수 있다.
-------------------------------
자주쓸거 같은 데이터셋의 Property
밑에 속성은 this.데이터셋.속성으로 값을 가져오거나
this.데이터셋.set_속성 으로 셋팅할 수 있다. 속성명은 kebab케이스를 따르고있고
모두 프로퍼티 그대로 써야한다.
-------------------------------
colcount : 현재 데이터셋의 열 계수 값을 갖는 속성.
colinfos : 데이터셋의 열 정보객체를 목록으로 갖고 있는 속성.
filterstr : 데이터셋을 필터링할 조건식을 설정하는 속성.
rowcount : 현재 데이터셋의 레코드 개수를 갖는 속성
============================================
메소드
addColumn : 데이터셋에 열(Column)을 추가하는 메소드.
ex : this.ds.addColumn("column00","string");
addRow : 데이터셋의 마지막에 새로운 행(Row)를 추가하는 메소드.
ex : this.ds.addRow();
copyData : 지정한 데이터셋의 행데이터를 복사하는 메소드.
ex : this.ds.copyData(ds01,true);
2번째 인자는 필터링된 행만을 복사할지 여부. default는 false
filter : 데이터셋에서 조건식을 만족하는 행만 보이게하는 메소드
ex: this.ds.filter("dept_cd='A1'");
을 수행하면 dept_cd가 A1인 로우만 뽑아온다.
필터링조건을 초기화하려면 ""를 넣어주면된다.
findRow : 데이터셋의 지정한 열에서 입력된 값과 일치하는
데이터를 갖는 첫번째행의 위치를 찾는 메소드.
ex: this.ds.findRow("column00","100");
이면 "column00"이 "100"인 행중 첫번째 행을 가져옴.
3,4번째인자는 int형태로 행의 시작위치, 끝위치+1이다.
넥사크로 그리드
그리드는 데이터셋의 내용을 격자모양(테이블)로 표현하는 컴포넌트이다.
그리드는 항상 데이터셋과 바인딩해서 사용한다.
따라서 데이터셋이 변하면 그리드에 반영되고 그리드가 변하면 데이터셋에 반영된다.(양방향 바인딩)
----------------------------
자주 쓸거같은 grid의 property
---------------------------
currentcell : 그리드의 현재 선택된 셀의 인덱스를 갖는 속성.
currentcol : 그리드에서 현재 선택한 열 인덱스를 갖는 속성.
currentrow : 그리드에서 현재 선택된 행의 인덱스를 갖는 속성.
===========================
메소드
getCellPos : 현재 선택된 셀에서 열의 인덱스 값을 가져오는 메소드.
getCellText : 해당 셀에 표시되는 텍스트 값을 가져오는 메소드.
getCellValue : 해당 셀의 text 속성에 바인드되거나 설정된 값을 가져오는 메소드.
==========================
이벤트
e의 속성
col : 클릭한 셀이 속한 밴드 내에서의 컬럼 인덱스 값을 나타내는 속성
row : 클릭한 셀에 해당하는 Dataset의 RowPosition 값을 나타내는 속성