코드 짜는 티모

[xplatform] 데이터셋 데이터 복사 본문

IT/Xplatform

[xplatform] 데이터셋 데이터 복사

나무뒤에티모 2019. 2. 20. 00:32
반응형

< [xplatform] 데이터셋 데이터 복사 >



하나의 데이터셋(dataset)을 생성하고 재사용하고 싶다.

같은 데이터를 담고 있을 데이터셋이라면 복사하면 쉽다~!

같은 쿼리를 또 돌려서 데이터를 뽑아올 필요도 없으며 dsTmp와 같이 임시 데이터셋을 이용할 수도 있다.


이전에 https://shb00103.tistory.com/29?category=1038151 의 글에서 데이터 셋에서 "전체"라는 값을 넣는 방법을 업로드했었다.


개인적으로는 이런 상황이 있었다.

조회하는 div에서는 combobox에 bind 될 dataset에 전체를 추가해준다.

이렇게 변경된 dataset을 그대로 이용할 시에

조회결과가 나올 resultdiv의 resultgrid에 bind될 결과ds에는 null값인 code를 가진 값이 있을 때, 보여지는 값은 전체로 보일 것이다.

code는 null인데 data는 전체로 나온다니.. 문제가 있다.


나는 이러한 문제를 방지하기 위해서 더 좋고 간단한 방법이 있을지 모르겠지만 dataset을 하나 더 추가한다고 복잡도나 속도면에서는 큰 문제가 없다고 들었기에

위의 상황에는 dataset을 복제하고 둘중에 아무 dataset에 "전체" 값을 추가해주어 조회하는 combobox에 bind해주고 다른 하나는 divResult에 bind해준다.


방법은

1
dsCopy.copyData(dsPlain)




이와 같이 앞의 ds와 뒤에 ()안에 들어갈 ds의 구분이 쉽도록 ds명을 설정해주었다.


이렇게 복사한 후에


1
2
3
4
5
6
7
function insertAllVal() {
    dsCopy.copyData(dsPlain)
    dsPlain.insertRow(0);
    dsPlain.setColumn(0, "code", "");
    dsPlain.setColumn(0, "data", "--전체--");        
    divSearch.cboPlain.index = 0;
}



이렇게 하면 dsPlain은 divSearch에 있을 combobox에 bind되며

dsCopy는 divResult에 나타날 어떠한 데이터를 보여주기 위한 dataset으로 bind될 것이다.



반응형
Comments