Grid Panel에서 이벤트 발생했을때 데이터를 갱신 시키는 방법은 아래와 같다
GridPanel.store.load({params:{
             start:0,
             limit:20,
             searchtype:0,
             keyword:keyword         <-- 내가 원하는 param을 추가하고 뺄수있다
        }});

위와 같이 하면 Grid Panel의 Store 생성시 설정했던 주소에 start,limit,searchtype,keyword의 param을 넘긴다.

하지만 PagingToolbar에 있는 다음페이지,이전페이지 버튼을 클릭할 경우
start와 limit만 넘어가고 keyword의 값이 넘어가지 않아 검색 결과가 제대로 나오지 않는다.

이런 현상을 다음과 같이 수정하면 올바른 결과를 받을 수있다.

Store.on('beforeload',function(storeObj,option){
   if(Ext.getCmp('icsServicekeyword').getValue() != null){
    var keyword = Ext.getCmp('icsServicekeyword').getValue();
    option.params.searchtype=0;
    option.params.keyword=keyword;
   }
  });

GridPanel에 등록되어있는 store 객체에 beforeload이벤트를 정의하여 GridPanel이 로드되기전에 param을 수정하는 것이다.
option의 params에 위와 같이 searchtype과 keyword를 추가하면 다음,이전페이지 클릭시 param정보에 추가되서 넘어간다.
신고
Posted by genius3k

티스토리 툴바