컴포넌트의 경우 데이터셋에 데이터를 한번에 입력 후 for문이 끝난 후에 post하시기 바랍니다.
Post시 변경된 데이터가 한번에 넘어가게 됩니다.
ex)
ds_02.SetDataHeader("xxx:STRING(10)");
for(i=1; i<=ds_01.CountRow; i++){
chk = ds_01.NameValue(i, 'chk');
if(chk == '1'){
//InsertRow는 지정한 index에 로우를 추가하는 메소드입니다. 순서대로 처리하게 하려면 Addrow를 사용하세요.
//ds_02.InsertRow(i);
ds_02.Addrow();
ds_02.NameValue(i, "xxx") = ds_01.NameValue(i, "xxx");
}else{
//ds_02.InsertRow(1);
ds_02.Addrow();
//ds_01.RowPosition은 현재 DataSet의 focus가 지정된 상태값입니다. 값을 다시 한번 확인해보세요.
ds_02.NameValue(1, "xxx") = ds_01.NameValue(ds_01.RowPosition, "xxx");
}
}
tr_01.KeyValue = "JSP(I:input_01=ds_02)";
tr_01.KeyName = "toinb_dataid4";
tr_01.Action="<c:url value='/xxx/xxx.do'/?1=1";
dataToServer(tr_01);
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 :
>* GAUCE 버전 : 4.0
>* WAS 종류(WebLogic 등등) : Tomcat
>* DB 종류 : MSSQL
>* 문의 유형(질문/요청/참조) : CHECK BOX
>* 내용 :
>안녕하세요.
>그리드에서 체크박스 기능을 구현하였습니다.
>
>체크된 값의 키 값만 서버에 submit을 할려고 합니다.
>for문으로 통해 alert로 체크된 키값은 잘 표기 됩니다.
>
>정작 submit 할 때, for문을 한번만 수행하는데
>
>어떻게 해야 할지 모르겠네요...
>
>아래는 해당 jsscrript입니다.
>================================================================================================
>ds_02.SetDataHeader("xxx:STRING(10)");
> for(i=1; i<=ds_01.CountRow; i++){
> chk = ds_01.NameValue(i, 'chk');
> if(chk == '1'){
> alert("check!!");
> ds_02.InsertRow(i);
> ds_02.NameValue(i, "xxx") = ds_01.NameValue(i, "xxx");
>
> alert(ds_02.NameValue(i, "xxx"));
>
> tr_01.KeyValue = "JSP(I:input_01=ds_02)";
> tr_01.KeyName = "toinb_dataid4";
>
> tr_01.Action="<c:url value='/xxx/xxx.do'/>?1=1";
> dataToServer(tr_01);
> }else{
> alert("unCheck!!");
> ds_02.InsertRow(1);
> ds_02.NameValue(1, "xxx") = ds_01.NameValue(ds_01.RowPosition, "xxx");
>
> tr_01.KeyValue = "JSP(I:input_01=ds_02)";
> tr_01.KeyName = "toinb_dataid4";
>
> tr_01.Action="<c:url value='/xxx/xxx.do'/>?1=1";
> dataToServer(tr_01);
> }
> }
>
>action을 두번 태워야 하는거 같은데...
>생각보다 잘 안되네요...