게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.
* 고객시스템명 : 엘지전자 LGSM
* 문의할 Component명 및 버전 : GAUCE3.5
* DataSet 버전 :
* Tr 버전 :
* 문의 유형(질문/요청/참조) : 질문
* 내용 :
1. 그리드 영역 저장후 저장된 값을 다시 리로딩하기 위해 다음과 같이 처리하려는데
풀리지 않는 문제가 발생했습니다.
jsp페이지에서의 트랜잭션 처리 ==>
<!--TR Component-->
<OBJECT id="tbtr_2" classid="clsid:0A2233AD-E771-11D2-973D-00104B15E56F" >
<PARAM NAME="ServerIP" value="">
<PARAM NAME="KeyName" value="Toinb_dataid4">
<param name="TreatNoChangeAsError" value="1">
<PARAM NAME="KeyValue" value="SERVLET(I:UPDATE=tb_DataSet,O:QUERY=tb_DataSet)">
<PARAM NAME="Action" value="/servlet/EvalItemVendor">
<PARAM NAME="Parameters" value="">
<PARAM NAME="Protocol" value="1">
</OBJECT>
<!-- DataSet Component Start -->
<OBJECT id=tb_DataSet classid=CLSID:3267EA0D-B5D8-11D2-A4F9-00608CEBEE49>
</OBJECT>
2. 아래 스크립트에서 이벤트를 호출 ==>
<!-- 저장 -->
function funcProcess(){
tbtr_2.parameters = "division=" + document.lgsm.division.value + ",command=UPDATE"...;
tbtr_2.Post();
}
3. servlet에서 ....
GauceDataSet dSet = greq.getGauceDataSet("UPDATE");
GauceDataSet q_dSet = greq.getGauceDataSet("QUERY");
이렇게 선언해서 받아오면.. dSet의 값은 null이 아니지만
GauceDataRow[] rows = dSet.getDataRows();을 선언해서 row값을 체크하면
갯수가 '0'이 나옵니다.
** 로그 **
dSet = com.gauce.GauceDataSet@1f2e41d
q_dSet = com.gauce.GauceDataSet@15e4dbe
rows.length = 0
그래서 트랜잭션 처리할때
<PARAM NAME="KeyValue" value="SERVLET(I:UPDATE=tb_DataSet)"> 이렇게 선언하고
서블릿에서
GauceDataSet dSet = greq.getGauceDataSet("UPDATE"); 을 선언해서 dSet 을 가지고 오면
데이타가 변경된 값만 제대로 가지고 옵니다.
트랜잭션 선언할때 I,O를 같이 하면 데이타셋이 제대로 넘어오질 않는것 같은데
그 이유는 무엇일까요..?
질문의 이해를 돕기 위해 소스파일 첨부하겠습니다.