<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Complex DataGrid - jQuery EasyUI Demo</title> <link rel="stylesheet" type="text/css" href="../../themes/default/easyui.css"> <link rel="stylesheet" type="text/css" href="../../themes/icon.css"> <link rel="stylesheet" type="text/css" href="../demo.css"> <script type="text/javascript" src="../../jquery-1.8.0.min.js"></script> <script type="text/javascript" src="../../jquery.easyui.min.js"></script> <script> /** * 扩展两个方法 */ $.extend($.fn.datagrid.methods, { /** * 开打提示功能 * @param {} jq * @param {} params 提示消息框的样式 * @return {} */ doCellTip: function(jq, params){ function showTip(data, td, e){ if ($(td).text() == "") return; data.tooltip.text($(td).text()).css({ top: (e.pageY + 10) + 'px', left: (e.pageX + 20) + 'px', 'z-index': $.fn.window.defaults.zIndex, display: 'block' }); }; return jq.each(function(){ var grid = $(this); var options = $(this).data('datagrid'); if (!options.tooltip) { var panel = grid.datagrid('getPanel').panel('panel'); var defaultCls = { 'border': '1px solid #333', 'padding': '2px', 'color': '#333', 'background': '#f7f5d1', 'position': 'absolute', 'max-width': '200px', 'border-radius' : '4px', '-moz-border-radius' : '4px', '-webkit-border-radius' : '4px', 'display': 'none' } var tooltip = $("<div id='celltip'></div>").appendTo('body'); tooltip.css($.extend({}, defaultCls, params.cls)); options.tooltip = tooltip; panel.find('.datagrid-body').each(function(){ var delegateEle = $(this).find('> div.datagrid-body-inner').length ? $(this).find('> div.datagrid-body-inner')[0] : this; $(delegateEle).undelegate('td', 'mouseover').undelegate('td', 'mouseout').undelegate('td', 'mousemove').delegate('td', { 'mouseover': function(e){ if (params.delay) { if (options.tipDelayTime) clearTimeout(options.tipDelayTime); var that = this; options.tipDelayTime = setTimeout(function(){ showTip(options, that, e); }, params.delay); } else { showTip(options, this, e); } }, 'mouseout': function(e){ if (options.tipDelayTime) clearTimeout(options.tipDelayTime); options.tooltip.css({ 'display': 'none' }); }, 'mousemove': function(e){ var that = this; if (options.tipDelayTime) clearTimeout(options.tipDelayTime); //showTip(options, this, e); options.tipDelayTime = setTimeout(function(){ showTip(options, that, e); }, params.delay); } }); }); } }); }, /** * 关闭消息提示功能 * * @param {} * jq * @return {} */ cancelCellTip: function(jq){ return jq.each(function(){ var data = $(this).data('datagrid'); if (data.tooltip) { data.tooltip.remove(); data.tooltip = null; var panel = $(this).datagrid('getPanel').panel('panel'); panel.find('.datagrid-body').undelegate('td', 'mouseover').undelegate('td', 'mouseout').undelegate('td', 'mousemove') } if (data.tipDelayTime) { clearTimeout(data.tipDelayTime); data.tipDelayTime = null; } }); } }); $(function(){ $('#test').datagrid({ title:'My DataGrid', iconCls:'icon-save', width:700, height:350, nowrap: true, autoRowHeight: false, striped: true, collapsible:true, url:'066.json', sortName: 'code', sortOrder: 'desc', remoteSort: false, idField:'code', onLoadSuccess:function(data){ $(this).datagrid('doCellTip',{'max-width':'300px','delay':500}); }, frozenColumns:[[ {field:'ck',checkbox:true}, {title:'Code',field:'code',width:80,sortable:true} ]], columns:[[ {title:'Base Information',colspan:3}, {field:'opt',title:'Operation',width:100,align:'center', rowspan:2, formatter:function(value,rec){ return '<span style="color:red">Edit Delete</span>'; } } ],[ {field:'name',title:'Name',width:120}, {field:'addr',title:'Address',width:220,rowspan:2,sortable:true, sorter:function(a,b){ return (a>b?1:-1); } }, {field:'col4',title:'Col41',width:150,rowspan:2} ]], pagination:true, rownumbers:true, toolbar:[{ id:'btnadd', text:'Add', iconCls:'icon-add', handler:function(){ $('#btnsave').linkbutton('enable'); alert('add') } },{ id:'btncut', text:'Cut', iconCls:'icon-cut', handler:function(){ $('#btnsave').linkbutton('enable'); alert('cut') } },'-',{ id:'btnsave', text:'Save', disabled:true, iconCls:'icon-save', handler:function(){ $('#btnsave').linkbutton('disable'); alert('save') } }] }); var p = $('#test').datagrid('getPager'); $(p).pagination({ onBeforeRefresh:function(){ alert('before refresh'); } }); }); function doCellTip(){ $('#test').datagrid('doCellTip',{'max-width':'100px'}); } function cancelCellTip(){ $('#test').datagrid('cancelCellTip'); } </script> </head> <body> <h2>Complex DataGrid</h2> <div class="demo-info"> <div class="demo-tip icon-tip"></div> <div>Click the button to do actions with datagrid. </div> </div> <div style="margin:10px 0;"> <a href="#" onclick="doCellTip()">显示提示消息</a> <a href="#" onclick="cancelCellTip()">禁止消息显示</a> <div id="info"></div> </div> <table id="test"></table> </body> </html>
相关推荐
主要介绍了jQuery easyui datagird编辑行删除行功能的实现代码,需要的朋友可以参考下
EasyUI中使用DataGird显示数据列表中,有时需要根据需要显示不同的列,例如,在权限管理中,不同的用户登录后只能查看自己权限范围内的列表字段,这就需要DataGird动态组合列,下面介绍EasyUI中DataGird动态生成列的...
[DataGird]如何截取过长的字符串
本文实例为大家分享了EasyUI DataGird的使用方法,供大家参考,具体内容如下 1. html代码 xss=removed title=用户操作 data-options=iconCls:> 2.显示 3.js代码 // 页面加载后显示表数据 $(function() { ...
c#.net Data导出DataGird 源码
datagird绑定 .net里面的 就是个过程
C#中 datagird增改删的小例子 .NET 是编辑成功的源码
struts1.3+spring2+Hibernate json,easyui datagird 学习easyui 做的一个小例子
此程序源码是让datagird实现鼠标滚轮功能,这个程序也是学习mdb数据库的好例子。
可用的datagird打印类。记住datagird要添加样式,调用列子如下: DataGridPrintDocument dgp=new DataGridPrintDocument(dataGrid1,"用户列表",16); //string[] uplinestr={"呵呵,hehe","xixi"}; ...
FLEX中datagird的应用学习可以看看api文档了
jquery easyui-1.4 请求返回无数据后会重复请求后台方法
基于WINFORM控件DataGirdViewToExcel 导出EXCEL数据
flex通过httpService读取xml数据到datagird中,通过读取远程URL的XML数据(这里保存到本地),保存到ArrayCollection中,然后在将ArrayCollection绑定到datagird上 环境:flex3.0 可直接运行
在DataGrid中显示和隐藏某一列
WpfDataGrid示例代码 分组,过滤,排序,样式
NULL 博文链接:https://chenhailong.iteye.com/blog/1929075