2013-05-22 2 views
0

db에서 레코드 목록을 표시하는 샘플 gxt 위젯을 만들었습니다.GXT - PagingToolbar에서 새로 고침을 클릭하여 그리드 데이터를 새로 고치는 방법

새로 고침 버튼을 클릭하면 그리드 데이터가 다시로드 될 것으로 예상됩니다. 그렇기 때문에 수동으로 호출하는 이벤트 수신기를 추가 할 수 있다고 생각하지 않았습니다. grid.getStore().getLoader().load() 질문은 '새로 고침 '아이콘이나 툴바의 버튼을 클릭하여 이벤트를 첨부 할 수 있습니다.

내가 처리 할 아래에 스 니펫 새로 고침 아이콘을 첨부 이미지를 참조하십시오 : 나는 내 RPC 콜백에서 시간

final AsyncCallback<List<PlayerDTO>> getPlayersCallback = new 

AsyncCallback<List<PlayerDTO>>() { 
       public void onFailure(Throwable arg0) {   
        arg0.printStackTrace(); 
        } 
       public void onSuccess(List<PlayerDTO> arg0) {   
        proxy.setData(arg0) ;  
        loader.load(0, 10);     
       } 
      }; 
    service.getPlayers(getPlayersCallback); 

감사 프록시를로드하는 방법 enter image description here

private PagingToolBar toolBar; 
private NumberFormat currency; 
private PagingLoader<PagingLoadResult<ModelData>> loader; 
private PagingModelMemoryProxy proxy; 
private ListStore<PlayerDTO> store; 


proxy = new PagingModelMemoryProxy(null); 
loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy); 
loader.setRemoteSort(true);   
store = new ListStore<PlayerDTO>(loader);    
toolBar = new PagingToolBar(10); 
toolBar.bind(loader);    
loader.load(0, 10); 

입니다 ,

바바 지드 프린스.

답변

0

새로 고침 버튼은 이미 loader.load()를 호출하므로 하나가 작동하지 않으면 다른 버튼도 작동하지 않습니다. PagingModelMemoryProxy을 사용하고 있기 때문에 loader.load()가 로컬 데이터와 통신 중일 때 실제로 loader.load()보다 더 많은 작업을 수행하고 싶다고 생각합니다. 실제 데이터를 왕복 호출하지 않습니다. 섬기는 사람. 그게 네가하는 의미인가?

내 생각에 실제로 메모리 프록시와 통신하고 싶지는 않지만 새로 고침이 발생한 경우 서버에 연결하면 loader.load()는 아무 것도주지 않을 것입니다.

새로 고침 아이콘이 PagingToolbar에서 보호 필드 - 이것은 당신이 위젯을 서브 클래스 화해, onRender 정도에서를 대체 할 Loader.load()가 호출 될 때까지 대신 특정 행동을 와이어에 다른 리스너를 추가 할 수 있습니다 의미 사용중인 메모리 내 프록시의 데이터

+0

고마워요 @ColinAlworth, 내가 제안한대로 PagingToolbar를 하위 클래스로 분류했습니다. 페이지 크기를받는 암시 적 생성자가 있습니다. 새로 고침 버튼이있어 onClick 이벤트가있는 수신기가 추가되었습니다. 감사. –

0

PagingToolBar에는 새로 고침 버튼이 있습니다. 새로 고침 버튼 프록시를 클릭하면 데이터가로드됩니다.

관련 문제