ExtJs 组合框分页工具栏属性
Posted
技术标签:
【中文标题】ExtJs 组合框分页工具栏属性【英文标题】:ExtJs combobox pagingtoolbar properties 【发布时间】:2014-06-23 15:53:50 【问题描述】:我在网格面板编辑器单元格中有带有远程存储的组合框(我使用 rowEditing 插件)。通过使用组合框的“pageSize”属性,我在展开的组合框底部有分页工具栏。
示例: http://docs.sencha.com/extjs/4.2.2/#!/example/form/forum-search.html
但是我需要更改这个分页工具栏的一些属性,例如“beforePageText”、“afterPageText”、“displayMsg”等。在网格面板中,我可以添加停靠项并设置任何属性,但是组合框呢?它没有配置。
感谢所有回复和帮助。
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';
【问题讨论】:
【参考方案1】:不幸的是,分页工具栏的配置并不容易。分页是作为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()
方法 - 也没有记录。
【讨论】:
感谢您的回答。请告诉我为什么我不能只覆盖“createPagingToolbar”函数? 当然可以,但是这样做会为所有组合更改它 - 如果您愿意,一切都很好。如果您只希望它用于一个或多个组合,那么自己的选择器或 createPicker 的覆盖更好。 但是覆盖“createPicker”也会改变所有的组合框,不是吗?我的意思是像这样的覆盖Ext.define('ExtApp.form.field.ComboBox', override: 'Ext.form.field.ComboBox', createPicker: function () //override );
好吧,你可以在每个需要特殊分页的组合上定义方法createPicker
,而不是像上面那样全局。以上是关于ExtJs 组合框分页工具栏属性的主要内容,如果未能解决你的问题,请参考以下文章