#对easyui datagrid组件的一个小改进

##问题
在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整
![长度不足](https://images0.cnblogs.com/blog/84053/201402/091301407734130.jpg) ##规划与思考
一览datagrid的API,有几点值得思考 * `fitColumns`属性,**True to auto expand/contract the size of the columns to fit the grid width and prevent horizontal scrolling** ,这个属性是在datagrid本身的宽度足够的情况下才好用。
* `nowrap`属性,**True to display data in one line**,这个属性是在datagrid本身的高度足够的情况下才好用。
* `onAfterRender`事件,**Fires after the view is rendered**这个事件可以在表格渲染完成后再处理一些事情,再结合HTML中的`title` 属性,可以用来进行鼠标提示的设置。 ##代码的编写
确定方向是鼠标提示,可是提示放在哪里呢,这里就需要分析datagrid渲染完成后的HTML了 ![生成的HTML](https://images0.cnblogs.com/blog/84053/201402/091309482037806.jpg) 可以看到表格的内容是在类名为`datagrid-cell`的div元素里面的,所以要写代码在这里增加title属性 刚开始的时候,我是直接修改`onAfterRender `事件的
```javascript
$.fn.datagrid.defaults.view.onAfterRender = function(tgt){
$(tgt).datagrid("getPanel").find("div.datagrid-body").find("div.datagrid-cell").each(function(){
var $Obj = $(this)
$Obj.attr("title",$Obj.text());
})
}
```
后来发现对于有些已经有onAfterRender 事件的datagrid,会覆盖其原来的事件,所以经过一些代码细节的调整,变成这样 ```javascript
var oriFunc = $.fn.datagrid.defaults.view.onAfterRender;
$.fn.datagrid.defaults.view.onAfterRender = function(tgt){
oriFunc(tgt);
$(tgt).datagrid("getPanel").find("div.datagrid-body").find("div.datagrid-cell").each(function(){
var $Obj = $(this)
$Obj.attr("title",$Obj.text());
})
}
``` ##解决效果
![增加鼠标提示](https://images0.cnblogs.com/blog/84053/201402/091301554347141.jpg)
这也算是用户体验的一点提高 ##完整的示例及代码
[DEMO](http://p2227.github.io/demo/datagrid/) [代码(项目常用jquery/easyui函数小结)](http://www.cnblogs.com/p2227/p/3541143.html)

对easyui datagrid组件的一个小改进的更多相关文章

  1. easyUI datagrid组件能否有display:none的隐藏效果

    这个项目用了JQ easyUI datagrid 组件,我今天做了一个页面,页面有个div层,div里放了一个easyUI datagrid,页面初始化时div隐藏(display:none),通过点 ...

  2. jQuery EasyUI Datagrid组件的完整的基础DOM结构

    标题可能有点长,什么叫“完整的基础DOM结构”,这里“基础”的意思是指这个结构不依赖具体数据,不依赖Datagrid的view属性,只要存在Datagrid实例就会存在这样的基础DOM结构:而“完整” ...

  3. jQuery EasyUI Datagrid组件默认视图分析

    在Datagrid基础DOM结构的一文中,我对Datagrid组件的骨架做了很详细的描述.有了骨架还并不完整,还得有血有肉有衣服穿才行.强大的Datagrid组件允许我们自己定义如何在基础骨架上长出健 ...

  4. EasyUI datagrid组件绑定有转义字符的json数据出错

    最近项目中一个页面的datagrid出现了莫名其妙的问题, 首先是分页数据的第二页和第三页不能展示,过了一天后第一页也出不来了, 默认首页不出来导致后续分页处理无法进行, 整个数据都不出来了,最后只能 ...

  5. 使用DriverManager获取数据库连接的一个小改进

    由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么 ...

  6. easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法

    easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法 /*easyui,鼠标划过悬浮,显示一个小提示框的方法*/ function toopTip(idOrClass,showText) ...

  7. easyui datagrid 表格组件列属性formatter和styler使用方法

    明确单元格DOM结构 要想弄清楚formatter和styler属性是怎么工作的,首先要弄清楚datagrid组件内容单元格的DOM接口,注意,这里指的是内容单元格,不包括标题单元格,标题单元格的结构 ...

  8. easyui的datagrid组件,如何设置点击某行不会高亮该行的方式

    easyui的datagrid组件,有些时候我们点击某行不想高亮显示,如何设置点击某行不会高亮该行的方式,有好几种方法可以实现,我举几个,可以根据你具体需求灵活应用: 1.修改easyui的css将高 ...

  9. EasyUI - DataGrid 组建 - [ 组件加载和分页 ]

    效果: 原理:通过POST传递到数据后台字段. 此时上传的参数,page:当前页数,rows:每页显示的页数. 有此两项参数,计算取出数据条数. 通过后台接受参数,进行处理并返回抽取的数据. html ...

随机推荐

  1. ubuntu samba服务器多用户配置【转】

    转自:http://www.2cto.com/os/201204/127043.html ubuntu samba服务器多用户配置   在/home/下有多个用户目录A.B...,现通过samba共享 ...

  2. NDK(10)Android.mk各属性简介,Android.mk 常用模板

    参考 : http://blog.csdn.net/hudashi/article/details/7059006 本文内容: Android.mk简介, 各属性表, 常用Android.mk模板 1 ...

  3. Longest Valid Parentheses(最长有效括号)

    Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...

  4. hadoop hadoop-0.20.2-cdh3u4升级

    [hadoop@lab02 ~]$ uname -aLinux lab02 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_ ...

  5. Hbase源码分析:Hbase UI中Requests Per Second的具体含义

    Hbase源码分析:Hbase UI中Requests Per Second的具体含义 让运维加监控,被问到Requests Per Second(见下图)的具体含义是什么?我一时竟回答不上来,虽然大 ...

  6. UVa 1594 (Floyd判圈) Ducci Sequence

    大白书上P42那个计算器的题目就用到了这个办法,Floyd判圈法. 当然,用STL里的map也是可以的. #include <cstdio> #include <cmath> ...

  7. 想找个计算器当本命?来试试UWP应用《纸书科学计算器》

    久违了.上次在博客园发文还是4年前,正是高中参加NOIP的时候.这4年里发生了很多事,乃至再次看到过去的文章时,仿佛看到了自己也不熟悉的风景.最近很想把我的博客重新拾起来,慢慢灌溉,写一些微不足道的技 ...

  8. /bin/bash: [xxxx]: command not found

    /******************************************************************************** * /bin/bash: [xxxx ...

  9. HDU 5366 The mook jong (简单DP)

    题意:ZJiaQ希望把木人桩摆在自家的那个由1*1的地砖铺成的1*n的院子里.由于ZJiaQ是个强迫症,所以他要把一个木人桩正好摆在一个地砖上,由于木人桩手比较长,所以两个木人桩之间地砖必须大于等于两 ...

  10. linux中备份mysql数据库的一个shell脚本

    #!/bin/bash #FileName:select_into_bak.sh #Desc:Use select into outfile to backup db or tables #Creat ...