2012-07-25 97 views
3

我想设置一个网格的列,以便将光标更改为指针。如何使用extjs更改光标

我不知道如果它的最佳实践应用到它的样式,请告诉我。

我只是无法弄清楚。

这是我的代码,我希望列在鼠标悬停时会改变光标。

Ext.define('Ext.grid.Panel', { 
store: services, 
xtype: 'log', 
features: [groupingFeature], 
stateId: 'stateGrid', 
columns: [ 
    { 
     text: 'URL', 
     sortable: true, 
     flex: true, 
     dataIndex: 'url' 
    } 
    ] 
}); 

谢谢大家帮忙

+0

如果网格中只有一列,就像上面显示的代码一样,这很容易。你打算有更多的专栏?此外,我假设你的意思是鼠标悬停在列的**数据**部分,而不是**标题**,是吗? – Geronimo 2012-07-25 17:22:21

+0

我会有几列......是的,我的意思是鼠标悬停在数据部分,你是什么意思,你从哪里得到的? :) – ahojvole 2012-07-26 12:05:56

回答

9

它为我的作品:

columns: [ 
{ 
    text: 'URL', 
    sortable: true, 
    flex: true, 
    dataIndex: 'url', 
    renderer: function (val, metadata, record) { 
      metadata.style = 'cursor: pointer;'; 
     return val; 
    } 
}] 
0

与大多数部件,一个可以直接连接CSS片段一样:

Ext.define('...', { 
    extend: 'Ext.chart.CartesianChart', 
    legend: { 
     style: 'cursor: pointer;' 
    } 
}); 

使用渲染器时,还可以附加CSS类(以及任何样式):

renderer: function (value, meta, record) { 
    meta.tdCls += 'x-cursor-pointer'; 
    return value; 
} 

Ext.grid.column.Column也有一个componentCls属性:Ext.grid.column.Column#cfg-componentClsstyle属性:Ext.grid.column.Column#cfg-style ...这将设置样式为整个列,而不是每个indivivual行 - 或者一个可以结合,通过添加类整个列和渲染器的更多类,根据值(然后使用这些组合CSS选择器)。