2014-06-23 4 views
3

나는 gridBox 편집기 셀에 원격 저장소가있는 콤보 박스를 가지고 있습니다 (저는 rowEditing 플러그인을 사용합니다). 콤보 상자의 "pageSize"속성을 사용하여 확장 된 콤보 상자의 맨 아래에 pagingtoolbar가 있습니다.ExtJs combobox pagingtoolbar 속성

예 : http://docs.sencha.com/extjs/4.2.2/#!/example/form/forum-search.html

하지만, 예를 들어, "beforePageText을"이 pagingtoolbar의 일부 속성을 변경해야 , "afterPageText", "displayMsg"등등. GridPanel에서 dockedItems를 추가하고 속성을 설정할 수 있지만 콤보 박스는 어떤가? 거기에 대한 구성이 없습니다.

답장을 보내 주셔서 감사합니다.

var store = Ext.create('Ext.data.ArrayStore', { 
         fields: ['ID', 'NAME'], 
         pageSize: 10, 
         autoLoad: false, 
         proxy: { 
          type: 'ajax', 
          url: 'someurl' 
          reader: { 
           type: 'json', 
           root: 'data' 
          } 
         } 
        }); 

//And properties of my column editor 

gridColumn.editor.xtype = 'combobox'; 
gridColumn.editor.store = store; 
//with this we have pagingtoolbar at the bottom of combobox 
gridColumn.editor.pageSize = 20; 
gridColumn.editor.valueField = 'ID'; 
gridColumn.editor.displayField = 'ID'; 

답변

3

불행하게도, 페이징 도구 모음의 구성은 쉽게 불가능합니다. 페이징은 BoundList 생성 (즉, 콤보 선택기)의 일부로 만들어지며 구성 옵션이 적용되지 않습니다.

createPagingToolbar: function() { 
    return Ext.widget('pagingtoolbar', { 
     id: this.id + '-paging-toolbar', 
     pageSize: this.pageSize, 
     store: this.dataSource, 
     border: false, 
     ownerCt: this, 
     ownerLayout: this.getComponentLayout() 
    }); 
} 

당신은 콤보에 자신의 picker을 구성 할 수 있지만 설정 옵션을 문서화되지 않았거나 당신이 createPicker() 방법 오버라이드 (override) 할 수 -도 기록하지 : BoundList 소스를 참조하십시오.

+0

답변 해 주셔서 감사합니다. 왜 "createPagingToolbar"함수를 오버라이드 할 수 없는지 말해 주시겠습니까? – tytyryty

+0

물론 모든 콤보로 변경할 수 있습니다. 원한다면 모든 것이 괜찮습니다. 하나 또는 여러 개의 콤보 만 사용하려는 경우 createPicker의 자체 선택기 또는 재정의가 더 좋습니다. – Saki

+0

그러나 "createPicker"를 무시하면 모든 콤보 상자가 변경됩니다. 그렇습니까? 나는이 Ext.define ('ExtApp.form.field.ComboBox', { override : 'Ext.form.field.ComboBox', createPicker : function() {// override})와 같은 재정의를 의미합니다. ' – tytyryty