`

GridPanel中的动态Tips

    博客分类:
  • Ext
阅读更多
首先看一下效果图:




思路

Tips的展现,必须要有一个Target,也就是说,Tips要想显示出来,必须要有个目标对象才行

GridPanel中的每一行其实都是一个X行一列的Table(可以通过firebug查看元素获得真实的HTML代码),这样我们就可以以这个Table为目标,来做他的Tips

但是问题在于,这个Table是Javascript生成的,我们无法获知它的ID,怎么办呢?

我们就手动的给他一个ID,但是问题又来了,如何给他一个不重复的ID呢?

幸好,EXTJS为我们提供了Ext.id()这个函数,这个函数的目的就是在你的项目中生成一个唯一的ID,这就好办了.

JS核心代码

先写一个方法,用于显示这个Tips


function showPanelTips(gridPanel) {

 var view = gridPanel.getView();

 for (var rowIndex = 0; rowIndex < gridPanel.getStore().getCount(); rowIndex++) {

 var record = gridPanel.getStore().getAt(rowIndex);//此处根据下标获得某行的数据

 var rows = view.getRow(rowIndex);//根据那个下标获得这个row

 var dom = rows.getElementsByTagName('tr')[0];//此处通过firebug获知里面其实是一个tr标签

 var id = Ext.id();//通过此函数生成一个随即的ID

 dom.id = id;//将此ID赋值给我们获得的那一个dom

 var eid = record.get('eid');//在Record中找到后台传过来的ID(用于和后台交互)

 var tip = new Ext.ToolTip({

 target : id,

 layout : 'form',

 autoLoad : {

 url : 'basicEmployees.do?method=findInfoByEid&eid='

 + eid,//和Struts里的Action交互,在Action中重定向到另外一个页面.在那个页面里通过EL表达式就可以显示我们想要的数据

 method : 'GET'

 },

 height : 250,

 width : 350,

 dismissDelay : 15000,

 trackMouse : true

 });

 }

 };

当表格读取数据的时候执行他


 gridStore.on('load', function(a, b, c) {

 showPanelTips(gridPanel);

 });


//=============附上显示数据的那个JSP页面===================


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!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-Type" content="text/html; charset=utf-8" />

 <title>无标题文档</title>

 <style>

* {

 margin: 0px;

 padding: 0px;

 font-size: 12px;

}

</style>

 </head>

 

 <body>

 <div style="height: 200px; width: 350px; max-height: 400px;">

 

 <table width="317" height="202" border="0">

 <tr>

 <td width="126" rowspan="7">

 <img src="../empPhoto/${empInfo.photo }" height="150" />

 </td>

 <td width="73">

 姓名

 </td>

 <td width="72">

 ${empInfo.name }

 </td>

 </tr>

 <tr>

 <td>

 编号

 </td>

 <td>

 ${empInfo.empNum }

 </td>

 </tr>

 <tr>

 <td>

 生日

 </td>

 <td>

 ${empInfo.birthday }

 </td>

 </tr>

 <tr>

 <td>

 性别

 </td>

 <td>

 ${empInfo.sex }

 </td>

 </tr>

 <tr>

 <td>

 电话

 </td>

 <td>

 ${empInfo.telePhone }

 </td>

 </tr>

 <tr>

 <td>

 手机

 </td>

 <td>

 ${empInfo.mobil }

 </td>

 </tr>

 <tr>

 <td>

 所属部门

 </td>

 <td>

 ${empInfo.dptName }

 </td>

 </tr>

 <tr>

 <td>

 &nbsp;

 </td>

 <td>

 担任职务

 </td>

 <td>

 ${empInfo.postName }

 </td>

 </tr>

 </table>

 </div>

 </body>

</html>


//仅此而已,如果出现问题,请理清一下这个思路然后在看看代码,我觉得这个不是太难的,只是有些东西需要我们去尝试而已


  • 大小: 28.9 KB
分享到:
评论

相关推荐

    ext.net 动态创建gridpanel

    总的来说,`newtpanel.aspx` 和 `newtpanel.aspx.cs` 文件展示了如何利用Ext.NET在服务器端和客户端代码中动态创建和管理GridPanel,以及如何将它们集成到各种窗口容器中,以实现灵活的数据展示和交互。这是一项关键...

    Ext GridPanel 中实现加链接操作

    ### Ext GridPanel 中实现加链接操作 在前端开发领域中,Ext JS 是一款非常流行的 JavaScript 框架,用于构建企业级的 Web 应用程序。Ext GridPanel 是该框架中的一个重要组件,常用于展示表格数据。本文将详细介绍...

    GridPanel中的单元格不能选中复制的解决方法

    "GridPanel中的单元格不能选中复制的解决方法" Ext.grid.GridPanel 是一个功能强大且广泛使用的Grid控件,但是它存在一个很大的缺陷:单元格的内容不能选中,没法选中就没法复制,这给用户带来了很多不便。这个...

    EXTJS_GridPanel_ColumnModel_列的宽度随数据变化而变化

    EXTJS的GridPanel是其组件库中的核心组件之一,用于展示数据网格,广泛应用于Web应用的数据展示。在EXTJS中,ColumnModel是用来定义GridPanel列结构和行为的关键部分。这篇博客"EXTJS_GridPanel_ColumnModel_列的...

    EXTJSEXT实例GridPanel.

    这个实例"EXTJSEXT实例GridPanel"旨在教授如何在EXTJS中创建并使用GridPanel。 GridPanel是EXTJS中的一个核心组件,它允许开发者以网格形式展示数据,支持多种功能,如排序、分页、筛选、编辑等。在EXTJS中,...

    gridpanel常用操作

    在本文中,我们将深入探讨`GridPanel`在Extnet框架中的常见操作,包括选择行、前后台方法调用、增删行以及弹出窗体的实现方式。这些操作是开发Web应用程序时处理数据表单和数据展示的关键部分。 首先,我们来看如何...

    Extjs入门教程(treePanel和GridPanel)

    它提供了丰富的组件库,包括TreePanel和GridPanel,这两个组件在数据展示和管理中扮演着重要角色。 TreePanel是ExtJS中的一个树形控件,它允许你展示层级结构的数据。在教程中,你可能会学到如何创建和配置...

    Extjs中的GridPanel

    GridPanel 是 ExtJS 中的核心组件之一,它提供了一种高效、可定制的方式来展示大量结构化数据。在这个主题中,我们将深入探讨 GridPanel 的关键特性和使用方法。 1. **GridPanel 基本结构**: GridPanel 包含了行...

    gridPanel添加按钮

    在IT行业中,尤其是在Web开发领域,`gridPanel`通常指的是数据网格组件,它用于展示和管理大量的结构化数据。在本话题中,我们讨论的是如何在`gridPanel`中添加按钮,这涉及到前端用户界面的设计和交互。`gridPanel`...

    extjs动态生成表格,前台+后台

    在我们的例子中,我们将看到如何通过JavaScript代码来动态构建GridPanel。 在前端部分,HTML代码设置了必要的资源引用,包括CSS样式表和ExtJS的JavaScript库。`&lt;div id="grid_div"&gt;&lt;/div&gt;`这部分是用来放置...

    给Extjs的GridPanel增加“合计”行

    在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...

    tapestry4.02中封装ext的GridPanel组件

    在IT行业中,Web开发是一个重要的领域,而Tapestry和ExtJS是两个广泛使用的框架,它们各自在构建动态和交互式的Web应用上有着独特的优点。本文将深入探讨Tapestry 4.02版本中对ExtJS的GridPanel组件进行封装的相关...

    Gridpanel多表头的扩展

    在EXTJS框架中,Gridpanel是用于展示数据的常用组件,它提供了丰富的功能,如排序、分页、筛选等。当我们需要对数据进行更复杂的展示,例如按类别或层级分类时,多表头(Multi-Level Headers)就显得尤为重要。标题...

    ExtJs GridPanel双击事件获得双击的行

    在ExtJs中,GridPanel是用于展示数据的常用组件,它可以提供丰富的功能,如排序、分页、筛选等。在实际应用中,我们经常需要监听用户的交互行为,比如双击行进行进一步的操作。本篇文章将深入讲解如何在ExtJs ...

    扩展GridPanel

    扩展的GridPanel,让其分页后保持选择状态

    Ext的gridpanel控件二次加载问题

    2. 在需要时动态加载和卸载GridPanel,通过Ext JS的容器系统实现。 3. 如果数据更新频繁,可以考虑使用Store的buffered rendering特性,减少内存占用和渲染压力。 4. 对于复杂的配置,可以将它们分离到单独的配置...

    ExtJS的GridPanel导出excel文件

    ExtJS的GridPanel导出excel文件,方便快捷易懂!

    改变gridpanel的行颜色

    在使用GridPanel组件进行数据展示时,为了提高可读性和用户体验,我们经常需要对表格中的某些行或单元格进行颜色上的区分。本文将详细介绍如何通过不同的方法来实现这一功能,包括在加载数据时改变列的颜色、加载...

    Ext.grid.GridPanel 删除线

    Ext.grid.GridPanel 删除线 放到example文件夹下运行

    extjs gridPanel动态 源代码

    NULL 博文链接:https://xiaohewoai.iteye.com/blog/409898

Global site tag (gtag.js) - Google Analytics