ExtJS给表格gridpanel的表头加控件

示例代码:

Ext.onReady(function () {
Ext.tip.QuickTipManager.init();
Ext.create('Ext.container.Viewport', {
layout: 'fit',
items: [
{
xtype: 'grid', border: 0, title: '表头加控件的实现',
store: {fields: [], data: []},
columns: [
{text: '姓名', dataIndex: 'name',width:250},
{text: '性别', dataIndex: 'sex'},
{text: '职业', dataIndex: 'zy'}
],
listeners: {
afterrender: function (view) {
var column = Ext.ComponentQuery.query('gridcolumn[dataIndex=name]')[0];
Ext.create('Ext.form.ComboBox', {
queryMode: 'local',
displayField: 'name',
valueField: 'abbr',
store: {
fields: ['abbr', 'name'],
data: [
{"abbr": "AL", "name": "刘备"},
{"abbr": "AK", "name": "关羽"},
{"abbr": "AZ", "name": "张飞"}
]
},
renderTo: column.el,
//关键样式代码
style: 'position:absolute;top:2px;;right:20px;!important;',
listeners: {
el: {
click: function (e) {
//关键代码,阻止事件冒泡,引发列头点击事件
e.stopEvent();
}
}
}
});
}
}
}]
});
});
备注:在Extjs5.1下测试通过,有其他个性化需求可参考此插件进行实现,谢谢。
posted @ 2017-03-20 17:45  拉风的帅猫  阅读(1729)  评论(0编辑  收藏  举报