对easyui datagrid组件的一个小改进
#对easyui datagrid组件的一个小改进 ##问题
在实际项目中使用datagrid时,受版面限制,有时候表格不能太大,这时候表格里面的内容就不能完全显示,用户需要经常拖动调整列宽才能看完整
 ##规划与思考
一览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了  可以看到表格的内容是在类名为`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());
})
}
``` ##解决效果

这也算是用户体验的一点提高 ##完整的示例及代码
[DEMO](http://p2227.github.io/demo/datagrid/) [代码(项目常用jquery/easyui函数小结)](http://www.cnblogs.com/p2227/p/3541143.html)
对easyui datagrid组件的一个小改进的更多相关文章
- easyUI datagrid组件能否有display:none的隐藏效果
这个项目用了JQ easyUI datagrid 组件,我今天做了一个页面,页面有个div层,div里放了一个easyUI datagrid,页面初始化时div隐藏(display:none),通过点 ...
- jQuery EasyUI Datagrid组件的完整的基础DOM结构
标题可能有点长,什么叫“完整的基础DOM结构”,这里“基础”的意思是指这个结构不依赖具体数据,不依赖Datagrid的view属性,只要存在Datagrid实例就会存在这样的基础DOM结构:而“完整” ...
- jQuery EasyUI Datagrid组件默认视图分析
在Datagrid基础DOM结构的一文中,我对Datagrid组件的骨架做了很详细的描述.有了骨架还并不完整,还得有血有肉有衣服穿才行.强大的Datagrid组件允许我们自己定义如何在基础骨架上长出健 ...
- EasyUI datagrid组件绑定有转义字符的json数据出错
最近项目中一个页面的datagrid出现了莫名其妙的问题, 首先是分页数据的第二页和第三页不能展示,过了一天后第一页也出不来了, 默认首页不出来导致后续分页处理无法进行, 整个数据都不出来了,最后只能 ...
- 使用DriverManager获取数据库连接的一个小改进
由于使用DriverManager获取数据库连接时,由于DriverManager实现类中有一段静态代码块,可以直接注册驱动,且可以同时管理多个驱动程序 所以当换数据库连接时需要指定不同的数据库,那么 ...
- easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法
easyui toopTip,鼠标划过悬浮,显示一个小提示框的方法 /*easyui,鼠标划过悬浮,显示一个小提示框的方法*/ function toopTip(idOrClass,showText) ...
- easyui datagrid 表格组件列属性formatter和styler使用方法
明确单元格DOM结构 要想弄清楚formatter和styler属性是怎么工作的,首先要弄清楚datagrid组件内容单元格的DOM接口,注意,这里指的是内容单元格,不包括标题单元格,标题单元格的结构 ...
- easyui的datagrid组件,如何设置点击某行不会高亮该行的方式
easyui的datagrid组件,有些时候我们点击某行不想高亮显示,如何设置点击某行不会高亮该行的方式,有好几种方法可以实现,我举几个,可以根据你具体需求灵活应用: 1.修改easyui的css将高 ...
- EasyUI - DataGrid 组建 - [ 组件加载和分页 ]
效果: 原理:通过POST传递到数据后台字段. 此时上传的参数,page:当前页数,rows:每页显示的页数. 有此两项参数,计算取出数据条数. 通过后台接受参数,进行处理并返回抽取的数据. html ...
随机推荐
- Ubuntu 14.04怎样升级到Ubuntu 14.10
Ubuntu 14.04怎样升级到Ubuntu 14.10 Ubuntu 14.10 Utopic Unicorn 将在10月23日正式发布,9月25日最终测试版本已经发布,Ubuntu 14 ...
- nginx之location配置
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...
- [HDOJ1160]FatMouse's Speed(DP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1160 FatMouse believes that the fatter a mouse is, th ...
- 标准模板库(STL)学习探究之stack
标准模板库(STL)学习探究之stack queue priority_queue list map/multimap dequeue string
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
有时候需要让光标显示在EditText的指定位置或者选中某些文本.同样,为了方便用户输入以提升用户体验,可能需要使EditText获得或失去焦点. 1. 设置光标到指定位置 EditText et ...
- 【笨嘴拙舌WINDOWS】实践检验之屏幕取色
实践是检验真理的唯一标准 要取得屏幕的颜色,首先需要创建一个屏幕DC,然后使用该DC,调用GetPixel就可以了 "Note:GetPixel传入的DC应该是屏幕的DC,而不是桌面的DC, ...
- Asp.Net正则获取页面a标签里的内容
Asp.Net正则获取页面a标签里的内容 string url = "http://www.114369.com"; string html = MyCLib.NetClass.S ...
- Servlet生命周期以及获取参数
1. 创建Servlet几种方式 1) 实现Servlet接口 控制Servlet的生命周期 构造器 init() service() des ...
- boost编译批处理脚本
------------buildboost.bat-------------- @REM Used to build boost lib.@REM by Rock Wang @transoft 20 ...
- Heritrix源码分析(十三) Heritrix的控制中心(大脑)CrawlController(二)
本博客属原创文章,欢迎转载!转载请务必注明出处:http://guoyunsky.iteye.com/blog/650744 本博客已迁移到本人独立博客: http://www.yun5u. ...