How to select text in the grid (with the mouse) so that it can be copied to the clipboard
1.相关帖子:http://extjs.com/forum/showthread.php?p=154426#post154426
2.下面是Condor 使用的方法:
- <style type="text/css">
- .x-selectable, .x-selectable * {
- -moz-user-select: text!important;
- -khtml-user-select: text!important;
- }
-
</style>
<style type="text/css">
.x-selectable, .x-selectable * {
-moz-user-select: text!important;
-khtml-user-select: text!important;
}
</style>
- var grid = new Ext.grid.GridPanel({
- viewConfig: {
- templates: {
-
cell: new Ext.Template(
-
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} <SPAN style="COLOR: #808000">x-selectable</SPAN>
-
{css}" style="{style}" tabIndex="0" {cellAttr}>',
-
'<div class="x-grid3-cell-inner x-grid3-col-{id}" {attr}>{value}</div>',
-
'</td>'
- )
- }
- },
- ...
- });
var grid = new Ext.grid.GridPanel({
viewConfig: {
templates: {
cell: new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} x-selectable
{css}" style="{style}" tabIndex="0" {cellAttr}>',
'<div class="x-grid3-cell-inner x-grid3-col-{id}" {attr}>{value}</div>',
'</td>'
)
}
},
...
});
3.如果你想把它设置为GRID的默认属性,可以使用以下代码:
- if (!Ext.grid.GridView.prototype.templates) {
- Ext.grid.GridView.prototype.templates = {};
- }
-
Ext.grid.GridView.prototype.templates.cell = new Ext.Template(
-
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} x-selectable {css}"
-
style="{style}" tabIndex="0" {cellAttr}>',
-
'<div class="x-grid3-cell-inner x-grid3-col-{id}" {attr}>{value}</div>',
-
'</td>'
- );
if (!Ext.grid.GridView.prototype.templates) {
Ext.grid.GridView.prototype.templates = {};
}
Ext.grid.GridView.prototype.templates.cell = new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} x-selectable {css}"
style="{style}" tabIndex="0" {cellAttr}>',
'<div class="x-grid3-cell-inner x-grid3-col-{id}" {attr}>{value}</div>',
'</td>'
);
译者注:紧跟ext-all.js的后面
4.如果你也想让表头文字可选,则可以相应的修改hcell模板;
5.如果你使用的是分组Grid,则需要把以上的模板定义放入到GroupingView的配置中去,而不是上文的viewConfig
译注:
1.看下源码:
-
-
if(!ts.cell){
-
ts.cell = new Ext.Template(
-
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',
-
'<div class="x-grid3-cell-inner x-grid3-col-{id}" <SPAN style="COLOR: #808000">unselectable="on"</SPAN>
- {attr}>{value}</div>',
-
'</td>'
- );
- }
//GridView 288行
if(!ts.cell){
ts.cell = new Ext.Template(
'<td class="x-grid3-col x-grid3-cell x-grid3-td-{id} {css}" style="{style}" tabIndex="0" {cellAttr}>',
'<div class="x-grid3-cell-inner x-grid3-col-{id}" unselectable="on"
{attr}>{value}</div>',
'</td>'
);
}
可知,以上的修改就是把unselectable去掉,并且在td的class里面多加了我们的x-selectable
2.进一步的,如果需要只针对某些列可选:
2.1在该列的renderer(value,meta)里面,添加一句meta.selectable=true
2.2再编辑下cell的模板,在里面判断{selectable?'someCssClass':''}
深圳人才网 深圳招聘网 深圳人才招聘网 深圳人才大市场
企业、个人免费注册,获取想要的 深圳 软件工程师招聘信息 月薪最低3000-8000,更有高端猎头职位!
分享到:
相关推荐
ExtJS提供了API接口来编程式地控制过滤器,如`grid.filters.getFilter(id)`可以获取特定列的过滤器,`filter.enable()`或`filter.disable()`可以启用或禁用过滤器,`grid.filters.apply()`将所有过滤器的条件应用到...
解决这个问题的方法有两个步骤:添加新的 CSS 样式和修改 Ext.grid.GridPanel 的 prototype。 首先,我们需要添加一个新的 CSS 样式来覆盖原来 ExtJS 输出的 CSS 代码。我们可以添加以下代码: .x-selectable, ....
EXTJS Grid是一款强大的数据展示组件,常用于构建复杂的Web应用程序中的数据网格。它允许用户以交互方式查看、编辑和管理大量结构化数据。在EXTJS Grid中,数据通常以行和列的形式呈现,支持排序、分页、过滤、拖放...
2. **自定义扩展**:如果需要更多的定制,可以扩展`Ext.grid.ActionColumn`,并添加自己的方法和属性,例如: ```javascript Ext.extend(MyTextActionColumn, Ext.grid.ActionColumn, { text: '操作', getText: ...
如果你在使用`Ext.data.Store`和`Ext.grid.Panel`,可以自动触发加载遮罩。只需在store的`load`事件中显示遮罩,在`load`事件完成时隐藏: ```javascript store.on('load', function(store, records, successful...
就是extjs4里面,想给grid里面一格中,文字后面加个小图标。 因为俺们项目就只是文字+图标,所以俺就没有复写Actioncolumn,而是从Column下面继承了一下。。 包含自定义插件源码、效果图等等。
这种方法使得Grid的结构可以根据业务需求动态调整,大大提升了代码的复用性和维护性。 首先,让我们了解一下Grid的Title部分。在ExtJS的Grid中,Title通常指的是列头,也就是每一列上方显示的文字,用于标识该列的...
在ExtJs中,我们可以通过多种方式获取选中的行数据,具体取决于我们的选择模式是单选、多选还是单元格选择。 **1. 单选或多选模式** ```javascript var grid = Ext.getCmp('gridId'); var selectedRecords = grid....
ExtJs2.0版本是框架的一个里程碑,提供了许多重要特性和改进,使其成为了当时开发者们广泛使用的选择。 在深入探讨ExtJs2.0的具体知识点之前,需要明确ExtJs2.0中文手册的主要内容涵盖了框架的安装、配置、组件使用...
Combogrid控件结合了combobox(下拉框)和grid(数据网格)的优点,用户可以在输入框内搜索关键字,同时在下拉区域看到匹配的数据列表,列表以表格的形式展示,便于用户快速浏览和选择。 在ExtJS 5中,Combogrid...
在本篇内容中,我们将详细探讨如何通过ExtJS框架来修改Grid中行或列的颜色,以便于实现更直观的数据展示效果。...通过上述方法,我们可以灵活地控制ExtJS Grid中的行和列颜色,进一步提升用户体验和界面美观度。
你可以设置它的width属性来决定进度条的宽度,text字段可以用来显示进度条旁的文字描述。 ```javascript var grid = new Ext.grid.GridPanel({ columns: [{ xtype: 'progresscolumn', width: 100, // 进度条...
设置了单元格选择模型(`cellmodel`),这意味着用户可以单独选择单元格而不是整行。 6. **插件**: ```javascript plugins:[{ ptype:'cellediting', clicksToEdit:1 }], ``` 添加了一个单元格编辑插件(`...
10. **国际化和本地化**:对于多语言支持,ExtJS提供了国际化功能,可以根据用户的语言设置显示相应的文字和日期格式。 综上所述,这个ExtJS桌面实例不仅涉及前端UI的设计和交互,还涵盖了数据管理、业务逻辑和用户...
例如,使用`getCmp`方法结合`setValue`或`setText`方法,可以动态更新界面上任何组件的状态。这对于响应用户操作、显示数据或提供实时反馈非常有用。同样地,`grid.getView().getRow(girdcount).style.height`这样的...
当用户在搜索框中输入文字时,可以通过监听这些事件来实时更新展示的数据。 对于搜索过滤,我们可以创建一个函数,该函数接收用户输入的关键词,并对后台数据进行过滤。这里的关键在于实现一个有效的模糊匹配算法,...
以下是如何在EXTJS 4.0.2a版本下实现Grid文本选择和复制功能的详细步骤: 首先,我们需要自定义CSS样式来覆盖EXTJS默认的不可选中行为。通过设置`-moz-user-select`和`-khtml-user-select`属性为`text`,我们可以...
### Extjs4学习指南 #### 1. Extjs初步 ...以上就是关于Extjs 4的学习指南,通过本指南的学习,读者可以掌握Extjs的基本使用方法以及高级功能的应用技巧,从而能够更加高效地开发出高质量的Web应用。
通过这些方法,开发者可以在Extjs应用中更加灵活地处理数据格式化问题,提高开发效率和代码的可维护性。需要注意的是,由于使用OCR技术对文档进行文字扫描可能造成个别字识别错误或遗漏,实际应用时可能需要结合上...
NULL 博文链接:https://laodaobazi.iteye.com/blog/1064607