解决Ext 4.0.7 tree.Panel横向不出滚动条,纵向滚动条失效的问题

/**
 * 重写Ext.tree.Panel afterlayout方法,解决横向不出滚动条,纵向滚动条失效的问题
 * 1.显示grid的css滚动条,横向滚动条没有办法使标题一块儿滚动,所以隐藏掉
 * 2.将grid的css纵向滚动条定位到最右侧
 * 3.获取到ext自动添加的自己写的滚动条,将它remove掉
 */
Ext.tree.Panel.override({
    listeners:{
        afterlayout : function(treePanel, eOpts){
            var emBody = document.getElementById(treePanel.body.id);
            var emView = document.getElementById(treePanel.getView().id);
            var emTable = document.getElementById(treePanel.getView().id).childNodes[0];
            if(emTable != undefined){
                var emTableW = emTable.style.width;
                var newEmTableW = parseInt(emTable.style.width.substr(0,emTableW.length-2))-20;
                emTable.style.width = newEmTableW+"px";
                emTable.style.tableLayout = ‘auto‘;
                emTable.style.borderCollapse = ‘separate‘;
            }
            emView.style.overflow = ‘visible‘;
            emView.style.overflowX = ‘auto‘;
            emView.style.overflowY = ‘auto‘;
            emView.style.position = ‘relative‘;
            var emDivArr = document.getElementsByTagName("div");
               for(var i = 0; i < emDivArr.length; i++){
                   var emDiv = emDivArr[i];
                   if(emDiv.id.indexOf("gridscroller") == 0 && emDiv.className.indexOf("x-scroller-vertical") > 0){
                       if(emDiv.parentNode != null){
                           emDiv.parentNode.removeChild(emDiv);
                       }
                       emView.style.width = treePanel.getWidth()+"px";
                       emBody.style.width = treePanel.getWidth()+"px";
                   }
               }
         }
    }
});
  1. 在jsp中或在通用的js文件中加入下面的重写Ext.tree.Panel afterlayout的方法;
  2. 仅在ext4.0.7中简单测试过,其他版本请自行测试。
  3. 若在使用过程中发现会引起其他bug,请在原文出处回复讨论,谢谢。

作者:java小秦

出处:http://www.cnblogs.com/qinjunli

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

时间: 2024-07-28 18:04:48

解决Ext 4.0.7 tree.Panel横向不出滚动条,纵向滚动条失效的问题的相关文章

Ext.tree.Panel实现单选,多选

Extjs 1 var productCategoryTreeLookUpFn = function(callback) { 2 var productCategoryLookUpWindow; 3 var productCategoryTreeStore; 4 var productCategoryTreeMenu; 5 6 if (!productCategoryLookUpWindow) { 7 8 // 加载菜单树 9 productCategoryTreeStore = Ext.cre

Extjs学习笔记--Ext.tree.Panel

Ext.create('Ext.tree.Panel', { title: 'Simple Tree', width: 200, height: 150, store: store, rootVisible: false, //是否显示根节点 lines:false,//是否显示树节点前面的虚线 参考图A,B renderTo: Ext.getBody() });            图片A                           图片B

ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法【转】

ExtJS让被遮盖的窗体显示在最前面以及解决Ext.MessageBox提示框被TabPanel覆盖的方法 本文由arthinking发表于5年前 | Javascript | 暂无评论 |  被围观 14,752 views+ 一.如何让ExtJS的弹出提示信息框Ext.MessageBox或者创建的Ext.Window显示在最前面: 下面是显示一个Window的JS代码: var formPanel = MisTab1.createAddFormPanel(); var addWin = n

解决安装VC6.0后出现MSDEV.EXE错误解决方法

问题:安装VC6.0后,在打开项目或添加文件时,出现如下错误: 可能导致原因:由于Ms安装软件的兼容性问题,导致VC6.0安装不完全, 解决方法:--网上打sp6补丁的方法貌似不可用,所以可以采用另一种方法 1.在下面的网站下载FileTool.exe http://support.microsoft.com/kb/241396/en-us      2.FileTool.exe是个自解压文件,执行它,解压到某个目录下 3.解压后的文件是一个VC工程,在VC6中编译它 4. 在dsw文件上右键“

解决cocos2d-X 2.0版本后创建的Android项目提示org.cocos2dx.lib.Cocos2dxActivity找不到问题

原地址: http://blog.163.com/[email protected]/blog/static/6070970220132511558143/ 解决方法:    复制 ***\cocos2dx\platform\android\java\src\ (***为cocos2d-x更目录) 到你android项目中的src文件夹中这样就又有一个麻烦问题,是不是每次创建都要复制呢,答案当然是否定的,来看一劳永逸的方法,定位 (cocos2d-x根目录)\template\android\,

关于解决百度sitemap1.0一直提示校验中问题

实际原因是php设置问题,各个版本对应的设置有些不一样. php版本改成就好了. 修复方法:在插件里找到插件:\baidusubmit\inc.找到sitemap.php,查找curl_setopt($ch, CURLOPT_FOLLOWLOCATION,后面的数字1改成0就好了 关于解决百度sitemap1.0一直提示校验中问题

C# in Depth Third Edition 学习笔记-- C#2.0: 解决C#1.0的问题 1 泛型

用泛型实现参数化类型 1. 泛型更好滴编译时检查,能消除很多装箱和拆箱 2. 泛型字典 Dictionary<TKey, TValue> 1 static Dictionary<string,int> CountWords(string text) 2 { 3 Dictionary<string,int> frequencies; 4 frequencies = new Dictionary<string,int>(); 5 6 string[] words

DIV+CSS制作二级横向弹出菜单,略简单

没有使用JavaScript控制二级菜单的显示,结果如上图所示. 代码如下: 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>纯DIV+CSS制作二级横向弹出菜单</title> 6 <style type="text/css"> 7 .menu{ 8 font-family:arial,sa

DIV+CSS制作的水平三级横向弹出菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-