• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 2755
2005.11.15 (19:04:21)
올려주신 소스를 보니까 onFilter 이벤트는 정상적으로 동작을 하는것 같구요,
dsPayment.Filter();
alert(dsPayment.CountFiltered); <-- 0으로 표시

이부분에서 alert 에 필터된 로우가 없는걸로 나온다는 얘기는 필터 이벤트 동작후 다른 이벤트가 선언이 되어서
데이타셋을 다시 변경을 시키는것 같습니다.
예를 들어 매뉴얼의 데이타셋 메소드 filter() 샘플을 보시면 onRowsetChanged 이벤트가 있습니다.
이것은 alert 이 뜨기 전에 먼저 실행되는 이벤트 입니다.
이런식으로 데이타셋에 걸려 있는 다른 이벤트가 있는지 확인해 보시기 바랍니다.

만약 다른 이벤트가 없어도 이상동작을 한다면
전체 해당소스를 올려주시기 바랍니다.


>고객시스템명 : LG전자 가격결정시스템
>>* GAUCE 버전 : 3.0
>>* WAS 종류(WebLogic 등등) : IIS
>>* DB 종류 : 오라클
>>* 문의 유형(질문/요청/참조) : 질문
>>* 내용 :
>
>안녕하세요 수고하십니다.
>테이터셋을 이용한 콤보박스의 동적데이타 처리를  필터로 처리하려합니다.
>
><script language="javascript"  for=gridList  event=OnColumnPosChanged(Row,Colid)>
><!--
>      if (Colid == "PAY_TERM"){
>           dsPayment.UseFilter =true;
>           dsPayment.Filter();
>           alert(dsPayment.CountFiltered); <-- 0으로 표시
>                }
>//-->
></script>
>
><script language=JavaScript for=dsPayment event=onFilter(row)>
><!--                                
>if (dsPayment.NameValue(row,"SELLER") == dsList.NameValue(dsList.RowPosition,"BILL_FROM"))
>{
>   alert(dsPayment.NameValue(row,"SELLER"));---> 정상적으로 필터링 된 갯수만큼 값이 보임
>   return true;--->리턴이 되어야 하는데 안되고 전체 데이터가 보임
>}
>else
>{
>    return false;
>}
>-->                                        
></script>
>
><object id=dsPayment    classid=CLSID:3267EA0D-B5D8-11D2-A4F9-00608CEBEE49></object> --->데이터셋
>
><C> Name="Payment;Term"  ID=PAY_TERM Align=Left   HeadAlign=Center Width=150   Show=true EditStyle=Lookup Data="dsPayment:PAY_CODE:TERM"</C>---그리드에 해당 필드
>
>위에 설명했듯이 alert 창으로 찍은수는 필터링 된 갯수만큼 보입니다
>근데 콤보박스에 표시에는 원래값으로 표시됩니다
>
>어떤 속성이 잘못되었는지 모르겠습니다.
>신속한 답변 부탁드립니다.
>수고하세요
>
 
Tag List
XE Login