2014-06-23 81 views
3

我在網格面板編輯器單元格中使用了遠程存儲的combobox(我使用rowEditing插件)。通過使用組合框的「pageSize」屬性,我在擴展組合框的底部有了pagingtoolbar。ExtJs combobox pagingtoolbar properties

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

我需要改變這個pagingtoolbar的一些性質,例如 「beforePageText」, 「afterPageText」, 「displayMsg」 等。在網格面板中,我可以添加dockedItems並設置任何屬性,但是combobox呢?沒有配置。

感謝您的回覆和幫助。

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創建(即組合選擇器)的一部分而創建的,並且沒有配置選項得到遵守。見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()方法 - 也沒有記載。

+0

感謝您的回答。請告訴我爲什麼我不能重寫「createPagingToolbar」函數? – tytyryty

+0

當然,你可以,但是這樣做會改變它的所有組合 - 一切都很好,如果你想要的。如果你只想要一個或幾個組合,那麼自己的選擇器或者覆蓋createPicker就更好。 – Saki

+0

但重寫「createPicker」也會更改所有組合框,不是嗎?我的意思是這樣的重寫'Ext.define('ExtApp.form.field.ComboBox',{ override:'Ext.form.field.ComboBox', createPicker:function(){// override}); ' – tytyryty