본문 바로가기
넥사크로

dataset 참고

by 인생여희 2019. 11. 28.
반응형

1. Dataset에는 필터 기능이 있다. 
예를들어 1개의 변수를 받아 dadtaset의 칼럼과 비교해서 필터거는 문법은 아래와 같다.
this.ds_my_dataset.filter(" name =='" + name + "' || age == 10 "");
-> 나이가 10인 친구중에 이름이 변수 name 에 들어있는 값과 비교해서 있으면 dataset에 한 건이 필터된다.

 

2.Dataset 확인
dataset에 들어 있는 데이터는 saveXML() 함수로 확인 할 수 있다. 
예) this.ds_my_dadtaset.saveXML();

3.dataset filter 이슈
문제는 2번에서 필터된 dataset을 확인하고 싶었는데 dataset 전체가 계속나온다는 것이다. 참고로 dataset의 filter는 dataset의 내용을 지우거나 수정하는 함수가 아니라 말그대로 필터해서 보여주는 함수이다. 그래서 dataset의 saveXML()함수를 사용해도 다 보이는것이 맞다. filter된 dataset을 화면 그리드나 다른 엘리먼트에 뿌려보자. 그러면 filter된 dataset이 잘 나올 것이다. 

4.콤보박스와 dataset.
콤보박스에는 화면에서 보여줄 dataset과 콤보박스 내용을 저장할 innser dataset 두종류의 dataset 바인딩을 설정할 수 있다. 그래서 dataset을 필터하고 화면상의 콤보박스에 바로 필터된 dataset을 적용할려고 해도 적용되어지지 않는다. 필터된 dataset은 innerdataset에 바인딩되어 있기 때문이다. 그래서 콤보박스의 값을 바로 변경하려면 inner dataset이 아닌 일반 dataset을 적용한다.


//그리드 안의 콤보박스 아이템을 선택했을때
//e.row는 콤보박스에서 이벤트가 발생한 행번호.
//이 값으로 dataset안의 값과 화면에 보여줄 값을 셋팅할 수 있다. 

예) this.ds_my_dataset.setColumn(e.row,"name" , "");

반응형

댓글