如何将过滤器标头添加到每个网格列extjs 4.1

时间:2013-03-27 09:26:07

标签: extjs4.1 extjs-mvc

我在Extjs 3.4中实现了网格过滤器,但现在我正在迁移到extjs 4.1。 谁能告诉我如何在extjs 4.1中实现网格过滤器?

(作为新用户,我无法上传图片以显示示例)

2 个答案:

答案 0 :(得分:1)

请参阅以下链接。

http://www.sencha.com/forum/showthread.php?150918-Grid-Header-Filters

第二个选项是菜单中的过滤器,这在extjs 4.1示例中可用。

http://docs.sencha.com/extjs/4.1.3/#!/example/grid-filtering/grid-filter-local.html

第三个选项是过滤行。

http://www.sencha.com/forum/showthread.php?128154-FilterRow-for-Ext-JS-4-Grids

其中一个链接将引导您走上正确的道路。

问候。

答案 1 :(得分:0)

最好的方法是定义列组件。

Ext.define('Ext.ux.grid.MyColumn',{

extend: 'Ext.grid.column.Column',

alias: 'widget.mycolumn',

childEls: [
    'headerEl', 'titleEl', 'filterEl', 'triggerEl', 'headerTextEl', 'filterTextEl'
],

renderTpl:
    'change it , and make your own TPL',

initComponent: function () {
// change or declare new data if you want.
// me.callParent(arguments);
// I have modified lot. so, I skip initComponent of Ext.grid.column.column
me.superclass.superclass.initComponent.call(this); // directly call parents parent class.
}

});


USAGE : 
columns: [
    {
         xtype: 'mycolumn',
         itemId: 'sfsfsfsfsf', text: 'My filter column'
    }
]