답변 감사합니다. SyncLoad 속성을 이럴때 사용되는 군요.
제가 올린 소스 "2. 번" 부분의 처리를 고민 하다가 버튼 이벤트 핸들러 "function button_onkeyup()" 함수
에서 완전히 분리하여 DataSet.OnLoadCompleted 이벤트 핸들러로 옮겼서 처리했습니다.
SyncLoad를 써서 한번 테스트 해보겠습니다.
수고하십시요.
>DataSet에 SyncLoad 라는 속성이 있습니다.
>
>
>이 기능은
>
>"
>Service호출시 Data Loading이 끝날때까지 Browser를 대기시킨다.
>
>SyncLoad기능은 Network상에서 사용이 가능한 기능으로써 Service호출시 그 Data Loading의 완료시점까지 기다리지 않고 Browser가 다음 Step을 진행하도록 허용하는 기능이다
>
>SyncLoad = true로 설정하여 Mastar-Detail 관계의 Service를 호출할 때나, SyncLoad = false로 설정하여 서로 관계가 없는 여러 DataSet을 동시에 처리할 때 적절히 사용한다.
>
>"
>입니다.
>
>이 기능을 사용하시면 됩니다.
>
>
>>게시판을 이용해 주셔서 감사합니다.
>>다음양식에 맞게 입력해주세요.
>>
>>* 고객시스템명 : IBM 서버, WinXP PC
>>* GAUCE 버전 : 1.1.0.71
>>* WAS 종류(WebLogic 등등) :
>>* DB 종류 : Informix
>>* 문의 유형(질문/요청/참조) :
>>* 내용 :
>>
>>
>>DataSet 에서 Sum 함수사용에 문제
>>
>>아래 프로그램이 제가 사용한 JScript 버튼 함수입니다. 버튼을 누르면 서버에서
>>DataSet에 자료를얻고 다시 JScript 에서 DataSet 함수인 Sum으로 마지막 Row
>>을 하나 추가합니다. 이렇게 하는 이유는 Grid Component에서 자동으로 sum 계산을
>>해주는 속성인 ViewSummary이 있지만 Grid ROW 맨 아래에 출력되기 때문에 보기에
>>좋지 않아서 DataSet 마지막 Row에 sum을 추가하고자 이렇게 처리했습니다.
>>
>>function button_onkeyup() {
>> :
>>
>> // 1. 서버에서 데이타 얻음
>> dataset.DataID="test.jsp"; // 시간이 많이 걸림
>> dataset.Reset();
>>
>>
>> // 2. 얻어온 dataset에서 전체 Sum 합수로 전체 합계를 구해서 합계 ROW를 한개 추가
>> var colid="";
>> var colnum=0;
>> dataset.NameString(dataset.CountRow, dataset.ColumnID(1)) = "최종합계";
>> for( var i=2; i<dataset.CountColumn; i++) {
>> colid = dataset.ColumnID(i);
>> dataset.NameValue(dataset.CountRow, colid) = dataset.Sum(i,0,0);
>> }
>>}
>>
>>문제는 button_onkeyup()함수의 2. 부분이 1. 번에서 동작하는 것보다 먼저 실행
>>되는 것입니다. 그 결과 2. 번의 sum은 항상 0 으로 추가됩니다. 이 런경우
>>1. -> 2. 순차적으로 실행될수 없는가요.
>>
>>
>