使标题可选
Make Title Selectable
我有以下代码,我想在其中将标题设置为可选。由于它是 header,因此正在添加 .x-selectable class。
代码如下
Ext.create('Ext.grid.Panel', {
renderTo: document.body,
store: userStore,
width: 400,
height: 200,
title: 'Application Users',
columns: [
{
text: 'Name',
width: 100,
sortable: false,
hideable: false,
dataIndex: 'name'
},
{
text: 'Email Address',
width: 150,
dataIndex: 'email',
hidden: true
},
{
text: 'Phone Number',
flex: 1,
dataIndex: 'phone'
}
]
});
这个问题有解决办法吗?
您可以使用 selectable()
selectable( ) : Ext.Element
Enable text selection for this element
(normalized across browsers)
您需要获取网格标题 header 元素并需要调用此函数。
像这样:
<yourGrid>.getHeader().el.selectable();
可以在 afterrender
网格监听器中完成:
listeners: {
afterrender: function(grid){
grid.down('header').getHeader().selectable();
},
},
对于 EXTJS 3.3.1 我们需要使用 removeAllListeners()
移除 extjs 默认应用的 selectStart 侦听器:
listeners: {
afterrender: function(panel){
panel.header.removeAllListeners();
}
}
我有以下代码,我想在其中将标题设置为可选。由于它是 header,因此正在添加 .x-selectable class。
代码如下
Ext.create('Ext.grid.Panel', {
renderTo: document.body,
store: userStore,
width: 400,
height: 200,
title: 'Application Users',
columns: [
{
text: 'Name',
width: 100,
sortable: false,
hideable: false,
dataIndex: 'name'
},
{
text: 'Email Address',
width: 150,
dataIndex: 'email',
hidden: true
},
{
text: 'Phone Number',
flex: 1,
dataIndex: 'phone'
}
]
});
这个问题有解决办法吗?
您可以使用 selectable()
selectable( ) : Ext.Element
Enable text selection for this element (normalized across browsers)
您需要获取网格标题 header 元素并需要调用此函数。
像这样:
<yourGrid>.getHeader().el.selectable();
可以在 afterrender
网格监听器中完成:
listeners: {
afterrender: function(grid){
grid.down('header').getHeader().selectable();
},
},
对于 EXTJS 3.3.1 我们需要使用 removeAllListeners()
移除 extjs 默认应用的 selectStart 侦听器:
listeners: {
afterrender: function(panel){
panel.header.removeAllListeners();
}
}