XPLATFORM 101
Application > Transaction (FirstRow:CSV)

대용량 데이터를 다루는 것은 RIA를 도입한 취지와 조금은 동떨어진것 같지만
기존 업무 프로세스와의 연계나 어쩔 수 없이 필요한 경우가 생기곤 합니다.
때문에 각 RIA 프레임워크에서는 대용량 데이터를 어떻게 효과적으로 처리할 수 있을지에 대한
고민을 하지 않을 수 없습니다.

FirstRow 라는 방법 역시 이런 고민 중 하나입니다.
하지만 모든 상황에 맞는 정답은 없습니다. 업무를 이해하고 사용자에게 가장 적합한 방법을 선택해야겠죠.

FirstRow는 일종의 트릭과 같습니다. 사용자 입장에서 데이터를 다 가져올때까지 기다리지 않고
일정량의 데이터만 먼저 화면에서 확인하고 나머지를 보완하는 방법입니다.


특별히 다른 설정은 없고 Dataset에서 firefirstcount, firenextcount 를 설정해주면 됩니다.
firefirstcount 의 설명을 보면
FirstRow 형태로 통신할때 첫번째 onload Event를 발생시킬 Count를 지정하는 Property 입니다. 라고 나와있습니다.
지정된 속성값과 일치하는 데이터가 들어왔을때 이벤트가 발생됩니다.

Dataset의 로드 이벤트는 6가지 발생원인을 가지게 됩니다.
DSLoadEventInfo 이벤트에서 reason 속성을 확인할 수 있습니다.
일반적으로는 Dataset.REASON_LOAD (0) 일때 값을 처리하겠지만
FirstRow의 경우에는 Dataset.REASON_LOADPROCESS (1) 일때 값을 처리하게 됩니다.
그리고 마지막 값을 다 가져왔을때 Dataset.REASON_LOAD 값이 떨어지게 됩니다.

firefirstcount 값은 화면에 보여지는 영역에 맞거나 크게 잡아야 겠죠. 그렇지 않으면
데이터가 뚝뚝 끊어지는 느낌을 줄 수 있습니다.

* 그림에도 나와있지만 다른 코드와는 달리 JSP 소스까지 쇼케이스에 포함되어있네요. ^^

http://cafe.naver.com/xplatform101/150