修改extjs源码真正解决:ExtJs4.0 GridPanel 数据内容不能选中复制。
2013-08-26 18:35
573 查看
extJS 现在依然存在很多bug,有时挺烦人的。比如,最近就需要复制表格信息,extjs的grid却不支持,研究半天,覆盖了css,但只在非ie的浏览器有效。修改了extjs源码才解决了在ie的问题。
1、添加以下css代码:<style type="text/css">
.x-grid-row
{
line-height:13px;vertical-align:top;padding:0 1px;-moz-user-select:text!important;-khtml-user-select:text!important;-webkit-user-select:text!important;
}
.x-grid-cell
{
overflow:hidden;font:normal 13px tahoma, arial, verdana,sans-serif;-moz-user-select:text!important;-khtml-user-select:text!important;-webkit-user-select:text!important;
}
.x-unselectable
{
-moz-user-select:text!important;-khtml-user-select:text!important;-webkit-user-select:text!important;
}
</style>
2、修改extjs4.0的ext-all.js(或ext-all-debug.js)三处代码:
找到 Ext.override(Ext.core.Element,{
....
unselectable: function(){
var me = this;
me.dom.unselectable = "on";//1、把me.dom.unselectable= "on"修改为me.dom.unselectable =""
me.swallowEvent("selectstart", true);//2、把ture改成false
me.applyStyles("-moz-user-select:none;-khtml-user-select:none;");
me.addCls(Ext.baseCSSPrefix + 'unselectable');
return me;
}
...
});
找到 Ext.override(Ext.view.TableChunker, {
...
metaRowTpl:[
'<tr class="' + Ext.baseCSSPrefix + 'grid-row {addlSelector}{[this.embedRowCls()]}" {[this.embedRowAttr()]}>',
'<tpl for="columns">',
'<td class="{cls} ' + Ext.baseCSSPrefix + 'grid-cell ' +Ext.baseCSSPrefix + 'grid-cell-{columnId} {{id}-modified} {{id}-tdCls}{[this.firstOrLastCls(xindex, xcount)]}" {{id}-tdAttr}><divunselectable="on"
//3、把此处的unselectable="on"改成unselectable="" class="' + Ext.baseCSSPrefix +'grid-cell-inner ' + Ext.baseCSSPrefix + 'unselectable"style="{{id}-style}; text-align:{align};">{{id}}</div></td>',
'</tpl>',
'</tr>'
]
...
});
相关文章推荐
- 修改extjs源码真正解决:ExtJs4.0 GridPanel 数据内容不能选中复制。
- extjs的gridpanel的数据内容不能复制解决方法
- extjs的gridpanel的数据内容不能复制解决办法
- extjs的gridpanel的数据内容不能复制解决办法
- C#中DataGridView绑定了DataTable后,通过代码修改DataGridView中的数据,总有一行(被修改过并被用户选中的行集合中索引为0的行)不能被UpDate回数据库的问题和解决办法
- MFC CEdit编辑框内容不能选中和复制原因和解决
- ExtJS gridPanel文本不能复制的解决办法
- ExtJs疑难杂症之GridPanel单元格不能选中复制问题
- Eclipse复制javaweb项目后需要修改的内容(解决server视图中项目名后有括号为原项目名的方法)
- C#实现禁止选中Excel单元格,达到不能修改、复制、 全选
- MyEclipse+Tomcat开发Web项目时修改内容不能及时显示问题解决方法
- php使用mysqldump命令导出数据 文件内容为空 的解决(密码不能为空)
- 解决packet tracer不能复制CLI内容的问题
- 一例knockout with绑定,异步调用数据为null导致的绑定div标签内容不能显示的解决
- ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案
- jQuery在异步请求数据返回后,调用$("selector").html(data.content);之后因为一些特殊字符或者',"不能显示内容的问题解决办法
- vue-vux使用 cell/cell-box 组件 点击展开其他内容的时候修改过的数据会复原解决思路之一
- Extjs grid 不能复制问题解决
- 解决网站内容不能复制的方法
- ie中ExtJs的Grid不能默认选中第一行的解决方法