首先声明此问题是在extjs3版本.
我用ColumnHeaderGroup组件发现 在chrome19以前版本没有问题,但在chrome19+的时候,,显示不正确,所以找问题,发现问题在这里,可以看下面连接
http://code.google.com/p/chromium/issues/detail?id=124816
那么解决方式有3种:
1.修改EXTJS-JS文件和ColumnHeaderGroup.js
2.修改EXTJS-CSS文件
3.增加另外CSS文件覆盖 --个人推荐用这个
下面具体解决方法
解决方法一、修改EXTJS-JS GridView.js文件和ColumnHeaderGroup.js
注:这种方式我只测试了chrome和firefox,没有测试其他浏览器的执行情况
在 GridView.js 里面的
getColumnWidth : function(column) {
var columnWidth = this.cm.getColumnWidth(column),
borderWidth = this.borderWidth;
if (Ext.isNumber(columnWidth)) {
if (Ext.isBorderBox || (Ext.isWebKit && !Ext.isSafari2)) {
return columnWidth + "px";
} else {
return Math.max(columnWidth - borderWidth, 0) + "px";
}
} else {
return columnWidth;
}
},
修改成
getColumnWidth : function(column) {
var columnWidth = this.cm.getColumnWidth(column),
borderWidth = this.borderWidth;
if (Ext.isNumber(columnWidth)) {
if (Ext.isBorderBox /**这里去掉了*/) {
return columnWidth + "px";
} else {
return Math.max(columnWidth - borderWidth, 0) + "px";
}
} else {
return columnWidth;
}
},
同样修改 ColumnHeaderGroup.js
getGroupStyle: function(group, gcol){
var width = 0, hidden = true;
for(var i = gcol, len = gcol + group.colspan; i < len; i++){
if(!this.cm.isHidden(i)){
var cw = this.cm.getColumnWidth(i);
if(typeof cw == 'number'){
width += cw;
}
hidden = false;
}
}
return {
width: (Ext.isBorderBox || (Ext.isWebKit && !Ext.isSafari2) ? width : Math.max(width - this.borderWidth, 0)) + 'px',
hidden: hidden
};
},
修改成
getGroupStyle: function(group, gcol){
var width = 0, hidden = true;
for(var i = gcol, len = gcol + group.colspan; i < len; i++){
if(!this.cm.isHidden(i)){
var cw = this.cm.getColumnWidth(i);
if(typeof cw == 'number'){
width += cw;
}
hidden = false;
}
}
return {
width: (Ext.isBorderBox ? width : Math.max(width - this.borderWidth, 0)) + 'px',
hidden: hidden
};
},
解决方法二、修改extjs css样式
在 extjs 的css样式里面有这个
.x-grid3-cell{
-moz-user-select: none;
-khtml-user-select:none;
-webkit-user-select:ignore;
}
修改成
.x-grid3-cell{
-moz-user-select: none;
-khtml-user-select:none;
-webkit-user-select:ignore;
box-sizing: border-box;
}
然后下面就比较搞了,注意看 ColumnHeaderGroup.js 里面这段代码
ts.gcell = new Ext.XTemplate('<td class="x-grid3-hd x-grid3-gcell x-grid3-td-{id} ux-grid-hd-group-row-{row} {cls}" style="{style}">', '<div {tooltip} class="x-grid3-hd-inner x-grid3-hd-{id}" unselectable="on" style="{istyle}">', this.grid.enableHdMenu ? '<a class="x-grid3-hd-btn" href="#"></a>' : '', '{value}</div></td>');
出现了一个 x-grid3-gcell 样式,我找遍所有ux的CSS文件 居然没发现有这个东东。
得,还得加上一个这个样式,照抄 x-grid3-cell
解决方法三、 干脆增加一个mycss文件 直接覆盖对应样式。
这样不用修改所有原文件。
我就是这么干的。
.x-grid3-cell{
-moz-user-select: none;
-khtml-user-select:none;
-webkit-user-select:ignore;
box-sizing: border-box;
}
.x-grid3-gcell{
-moz-user-select: none;
-khtml-user-select:none;
-webkit-user-select:ignore;
box-sizing: border-box;
}
OK,完毕
分享到:
相关推荐
Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button ...主页:https://github.com/harrydeluxe/extjs-ux 注明:在Extjs4.1上是可以使用的,Extjs4.2部分会有问题。
extjs-ux, EXT JS 4的一些插件和扩展 插件和 EXT JS 4扩展 Ext.ux. aceeditor.Panel 演示( 简单): 链接演示( 流 语法): 链接演示:链接论坛:链接 Ext.ux. grid.feature.Tileview 演示:链接
这个特定的压缩包"ExtJS-4.2.6扩展ux插件89个"包含了Ext JS 4.2.6版本的一个重要组件:ux(用户界面扩展)插件。这些插件提供了额外的功能和组件,增强了框架的原生能力,帮助开发者构建更复杂、功能更丰富的应用...
在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容较为初级,适合初学者学习,这表明我们将探讨的是ExtJS的基础概念和...
通过这个观看视频会让你很快的了解到extjs,并且能够很快的进入ext的使用
"Extjs树分页组件扩展"就是为了解决这一问题而设计的,它通过扩展TreeLoader和PagingToolbar,实现了在树形组件中进行分页加载的效果。 **TreeLoader的扩展** TreeLoader是ExtJS中负责异步加载树节点的类。在原生...
在使用ExtJS进行组件扩展时,开发人员常常会遇到一些典型的问题: 1. **没有封装**:这通常是由于开发者对ExtJS机制理解不足所致。此类问题的核心在于未充分利用ExtJS框架的组件生命周期管理能力,导致编写出的代码...
- 在早期版本中,ExtJS的包管理系统相对简单,主要是通过引入不同的JavaScript文件来组织和使用组件。 - 使用时,开发者需要根据项目需求选择合适的组件和资源,然后在HTML文件中引入对应的JavaScript和CSS文件。 ...
深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320...
标题中的"extjs-Ext.ux.form.LovCombo下拉框"表明我们要讨论的是EXTJS中的一个特定组件,它是EXTJS的扩展插件,用于实现具有多选功能的下拉框。这个组件在处理火狐浏览器兼容性问题上做了优化,解决了在火狐浏览器下...
ExtJS 4 Slate 主题是基于 Sencha ExtJS 4.0.7 框架的一个视觉风格,它提供了一种现代、扁平化的设计,增强了用户界面的吸引力和用户体验。Slate 主题是对默认主题的扩展,旨在为开发者提供一个更加专业且引人入胜的...
EXTJS 是一个基于JavaScript的富客户端应用开发框架,主要用于构建具有丰富用户界面的Web应用程序。EXTJS 3.2-3.3版本是EXTJS框架的一个...同时,这些资料也可以帮助开发者解决在开发过程中遇到的问题,提高开发效率。
一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa
这个名为"ExtJS--Windows.rar"的压缩包显然是关于如何使用ExtJS来模仿Windows桌面应用的示例或教程。让我们深入探讨一下ExtJS以及如何利用它来实现这样的效果。 1. **ExtJS框架**:ExtJS是由Sencha公司开发的一个...
在"ExtJS----HelloWorld程序源码"中,我们将会看到如何使用ExtJS来创建一个简单的“你好,世界!”应用。以下是对这个示例中涉及的主要知识点的详细解释: 1. **引入ExtJS库**:首先,你需要在HTML文件中引入ExtJS...
extjs-basex.js extjs-basex.js extjs-basex.js
总的来说,"Extjs--DWR做的动态树"这个主题涉及到ExtJS的组件编程和DWR的远程调用技术,通过结合两者,可以创建出高度交互、响应迅速的Web界面。对于开发人员来说,理解这两个工具的集成是提升Web应用用户体验的重要...
深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320
【Extjs--OA 自动办公系统】是一款基于ASP.NET技术和EXTJS前端框架开发的办公自动化系统,采用典型的三层架构设计,旨在提供高效、便捷的办公流程管理。此系统的实现涉及了多个关键知识点,下面将详细阐述这些技术...
因此,这个"EXTJS扩展例子集"对于那些希望深入EXTJS开发或者需要解决特定问题的开发者来说,是一个宝贵的资源库。通过研究源代码,我们可以学习到EXTJS的最佳实践,同时也能为自己的项目找到灵感和解决方案。