안녕하세요.
우선 리셋은 추가로 하실 필요없구요.
보내주신 소스만 봐서는 어떤것이 문제인지 판단하기 힘듭니다.
좀 의심이 가는 부분이 있다면 이벤트를 발생시키는 부분인데
이벤트를 event=onFilter(row)>GFilter(row); 와 같이 발생시키지말고
직접 event="Dset.Filter();" 와 같이 해보세요.
그럼 좋은 하루 보내세요.
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : windows xp
>* 문의할 Component명 및 버전 : GAUCE 3.5
>* DataSet 버전 :
>* Tr 버전 :
>* 문의 유형(질문/요청/참조) :
>* 내용 :
>
>조건에 따라 DS를 그리드에 출력하려고 합니다.
>
>아래와 같이 코딩하고 DB로부터 DS를 구성하여 그리드에 출력하였습니다.
>이후, 라디오버튼을 클릭할 때마다 callFilter();를 호출하였습니다.
>필터링 이벤트가 발생해서 GFilter(row)는 불러오는데, 그리드는 갱신이 안됩니다.
>
>if (Dset.NameValue(row, "index").length > 0) 까지는 실행이 되는데 return 부분에서
>아마 필터링이 제대로 안되는 듯 합니다. 특별한 에러는 보이지 않은 듯 한데요.
>무엇이 잘못 된건가요?
>
>추가로.. 일단 DS 구성하여 그리드에 출력한 후 라디오 버튼 누를때 마다
>callFilter();을 계속 호출하려고 하는데 DS는 계속 reset 해줘야 하나요?
>아니면, 그대로 계속 그리드 출력만 변경되나요? 계속 reset한다면
>고민할 필요 없이 계속 DB로 질의 날리는게 나을 듯..?
>
>function callFilter() {
> //Dset.Reset();
> Dset.UseFilter = true;
> Dset.Filter();
>}
>
>function GFilter(row) {
> if (document.all.yn[1].checked)
> if (Dset.NameValue(row, "index") != "") return false;
> else return true;
>
> else if (document.all.yn[2].checked)
> if (Dset.NameValue(row, "index") == "") return false;
> else return true;
>
> else return true;
>
>}
>
><script language=javascript for=Dset event=onFilter(row)>GFilter(row);</script>