`
weigang.gao
  • 浏览: 496966 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

EXTJS 4.2 实现 gridpanel 鼠标悬停单元格以提示信息的方式显示单元格内容。

 
阅读更多

Ext4JS官方API中给出的Ext.tip.ToolTip的用法如下:

grid.getView().on('render', function(view) {
    view.tip = Ext.create('Ext.tip.ToolTip', {
        // 所有的目标元素
        target: view.el,
        // 每个网格行导致其自己单独的显示和隐藏。
        delegate: view.itemSelector,
        // 在行上移动不能隐藏提示框
        trackMouse: true,
        // 立即呈现,tip.body可参照首秀前。
        renderTo: Ext.getBody(),
        listeners: {
            // 当元素被显示时动态改变内容.
            beforeshow: function updateTipBody(tip) {
                //给出特定格式的悬浮提示
                tip.update('Over company "' + view.getRecord(tip.triggerElement).get('company') + '"');
            }
        }
    });
});

说明:用于实现当鼠标移动到每一行的时候给出特定格式的悬浮提示。

 

但是实际开发中需求往往不是这样。由于gridpanel的单元格里的文字太多时候,都由省略号代替,就想实现当鼠标悬浮在特定单元格上面的时候提示信息的方式显示当前单元格里面的内容,经过反复实验,终于搞定了!直接上代码:

 me.on('itemmouseenter', function (view, record, item, index, e, eOpts) {
            if (view.tip == null) {  //这块判断很重要,不能每次都创建个tooltip,要不显示会有问题。
                view.tip = Ext.create('Ext.tip.ToolTip', {
                    // The overall target element.
                    target: view.el,
                    // Each grid row causes its own separate show and hide.
                    delegate: view.itemSelector,
                    // Moving within the row should not hide the tip.
                    //  trackMouse: false,
                    // Render immediately so that tip.body can be referenced prior to the first show.
                    renderTo: Ext.getBody()

                });
            };
            var gridColums = view.getGridColumns();
            var column = gridColums[e.getTarget(view.cellSelector).cellIndex];
             view.el.clean();
             view.tip.update(record.data[column.dataIndex]);
                           
                
            
        });

 解释下:这里截取主要的代码,实际中,就是监听你的表格itemmouseenter这个事件就行了!

 

但是上面有一个问题,就是当鼠标移动到操作列的时候会显示空白内容的悬浮框 ,还有一方面就是我们只想在特定列的单元上面给出悬浮提示信息,我们可以使用如下写法:

grid.on('itemmouseenter', function (view, record, item, index, e, eOpts) {
		view.el //获取代表此组件的顶层元素
		.clean(); //删除空的(Empty) 或者全是空格填充的文本节点
		if(view.tip != null){
		    view.tip.destroy();//销毁组件
		}
		//1.获取列号
		var columnIndex = e.getTarget(view.cellSelector).cellIndex;
		
                //当鼠标悬浮在特定列的单元格上面时给出悬浮提示框
		if(columnIndex == 4 ||columnIndex == 5 || columnIndex == 6){
			view.tip = Ext.create('Ext.tip.ToolTip', {
		        // 所有的目标元素
		        target: view.el,
		        // 每个网格行导致其自己单独的显示和隐藏。
		        delegate: view.itemSelector,
		        // 在行上移动不能隐藏提示框
		        trackMouse: true,
		        // 立即呈现,tip.body可参照首秀前。
		        renderTo: Ext.getBody()
		    });
			view.tip.on("beforeshow",function(tip){
				var gridColums = view.getGridColumns();
        		var column = gridColums[columnIndex];
                tip.update(record.data[column.dataIndex]);//获取鼠标悬浮单元格中的数据显示
			});
		}
    });

 

 

分享到:
评论

相关推荐

    SpringMVC+ExtJs4.2实例

    在本实践项目“SpringMVC+ExtJs4.2实例”中,我们将深入探讨如何将SpringMVC框架与ExtJs4.2前端框架相结合,构建一个功能完善的Web应用程序。这个项目旨在展示如何利用这两个强大的技术栈来实现数据的动态交互和用户...

    EXTjs4.2中文版

    EXTjs4.2中文版是EXTjs框架的一个重要版本,EXTjs是一个强大的JavaScript库,专门用于构建用户界面,尤其适用于创建富互联网应用程序(Rich Internet Applications,简称RIA)。它以其组件化的设计理念,丰富的UI...

    MVC设计模式实战ExtJS4.2高级组件+SSH2在线投稿系统

    01.教程简介_ExtJS4.2简介_SSH2基本框架搭建 02.编写几个通用的service方法、设计数据库 03.搭建ExtJS的MVC框架 04.主界面的搭建、登录功能和菜单树的生成 05.创建菜单树、前台保存用户信息 06.菜单树响应事件、我的...

    Extjs4.2 Grid filter Demo 表格过滤实验

    这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》

    基于Extjs 4.2的通用权限管理系统,通用后台模板,EF+MVC+Extjs 4.2

    WMC2.0-Client.zip是一个基于Extjs4.2的开发框架,其实是个只有大框架的,并没有其他功能,您可能会骂我标题党“通用权限管理系统,通用后台模板”,呵呵,其实不是这样的。 整个WMC系统分为WMC2.0-Server服务端...

    ExtJs4.2下拉树(修改版)

    ExtJs4.2没有直接提供下拉树这个组件,但是有例子可以用,文件位置:ext-4.2.1.883\examples\ux\TreePicker.js 但是它有点小毛病吧:默认显示了根节点;达到最小高度时再展开节点,高度不能自动调整。 所以我做了一...

    extjs 4.2 开发 参考书

    ExtJS 4.2 是一个流行的JavaScript框架,用于构建富客户端Web应用程序。它提供了一套完整的组件库,包括数据管理、图表、表格、菜单、工具栏等,...通过结合书籍内容和源码学习,将能更全面地掌握ExtJS 4.2的开发技巧。

    EXTJS4.2学习入门教程

    EXTJS4.2学习入门教程 EXTJS4.2学习入门教程 EXTJS4.2学习入门教程

    ExtJs4.2 Window常用方法

    根据提供的文件信息,本文将详细解释ExtJs 4.2中Window组件的一些常用配置属性以及方法,帮助读者更好地理解和使用这些功能。 ### ExtJs 4.2 Window 组件概述 ExtJs 是一个基于 JavaScript 的开源框架,用于创建...

    extjs4.2官方文档

    Extjs官方文档 帮助你更好的学习Extjs,同事这里面的代码是最完整,最规范的。

    Extjs4.2中文教程

    Extjs4.2入门教程详解,及API文档。

    Extjs4.2 Grid单元格编辑

    "Grid单元格编辑"是EXTJS 4.2中的一个重要特性,允许用户直接在表格的单元格内进行数据修改,提升了数据输入的效率和用户体验。 在提供的代码示例中,我们看到`Ext.define`被用来创建一个自定义的EXTJS视图类,`zc....

    extjs 4.2 多文件上传

    用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,

    ExtJs4.2正式版

    ExtJs4.2正式版

    extjs 4.2 jsb2

    extjs 4.2 jsb2 4.2没有自带jsb2文件

    extjs4.2 desktop mvc

    EXTJS 4.2 Desktop MVC 是一个基于EXTJS 4.2版本的桌面应用程序框架,它结合了MVC(Model-View-Controller)设计模式,为开发者提供了构建富客户端桌面应用的强大工具。EXTJS是一个流行的JavaScript库,专门用于创建...

    nodejs+extjs4.2+mysql

    标题 "nodejs+extjs4.2+mysql" 暗示了这是一个使用 Node.js、ExtJS 4.2 和 MySQL 数据库构建的项目。这个项目的核心是利用这些技术搭建了一个基本的框架,使得开发者可以方便地在此基础上添加自己的业务逻辑和功能。...

    ExtJS4.2入门案例

    ExtJS4.2入门案例 博客:http://blog.csdn.net/coco2d_x2014/article/details/52986835

    EXTJS4.2 MVC环境搭建并显示数据

    EXTJS4.2是Sencha公司推出的一款强大的JavaScript前端框架,专用于构建富客户端应用程序。MVC(Model-View-Controller)模式是EXTJS中的一种架构设计方式,它有助于将应用的逻辑、视图和数据模型分离,提高代码的可...

Global site tag (gtag.js) - Google Analytics