2011-02-17 7 views
3

gridpanel의 하단 툴바에 동적으로 필터를 추가하는 올바른 구문입니까?extjs bbar 필터가 원하는대로 작동하지 않습니까?

this.Grid.getBottomToolbar().plugins=[filters]; 

이렇게하면 오류가 없습니다. 그러나 약속대로 행동하지 않습니다. 즉, 필터가 발사 될 때 페이징은 1로 리셋되지 않는다. 페이지를로드하고 2 페이지로 이동 한 다음 필터를 변경하면 레코드가 1 개만 있습니다 (말). 페이징이 재설정되지 않으므로 page 2 of 1이 표시됩니다.

내 구문이 올바른가요?

워드 프로세서 말 :

페이징 : 그리드의 구성 PagingToolbar 에 플러그인으로 지정한 경우 필터를 업데이트 할 때마다, 현재 페이지 페이지 1로 재설정됩니다.

답변

1

올바른 방법이 아닙니다 ... 하단 툴바의 인스턴스를 만들 때 필터를 첨부해야합니다. 이미 생성 된 후 플러그인 배열에 추가하는 것이므로 너무 늦습니다. 그리드는 플러그인 동작을 자체적으로 등록합니다.

var filterPlugin = new Ext.ux.grid.FilterPlugin(); 

var myGrid = new Ext.grid.GridPanel({ 
    store : store 
    ,columns : columns 
    ,sm : new Ext.grid.RowSelectionModel({singleSelect:true}) 
    ,bbar : new Ext.PagingToolbar({ 
     pageSize : this.perPage 
     ,store : store 
     ,plugins: [ filterPlugin ] 
    }) 
}); 
관련 문제