扩展easyui.datagrid,添加数据loading遮罩效果代码_jquery

在使用的过程中,发现easyui目前还缺少一些小功能或是未开放出来

拿datagrid插件来说,数据加载提供了两种方式远程和本地数据加载,但只有远程数据加载时才会显示数据加载的遮罩层,在数据加载完成后隐藏遮罩层;而本地数据加载时则不会出现遮罩,这应该是考虑到本地数据加载的速度很快则没有使用遮罩的必要

不过呢,在实际的项目开发过程中使用时,没有考虑使用url方式加载数据,则采用了loadData方法来异步加载数据,这个时候就很有必要显示遮罩层来提示用户当前正在加载数据,分析easyui的datagrid代码,削离出其中远程数据加载时遮罩显示代码,并扩展datagrid的方法,代码如下:

复制代码 代码如下:

//jquery.datagrid 扩展
(function (){
$.extend($.fn.datagrid.methods, {
//显示遮罩
loading: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loading");
var opts = $(this).datagrid("options");
var wrap = $.data(this,"datagrid").panel;
if(opts.loadMsg)
{
$("<div class=\"datagrid-mask\"></div>").css({display:"block",width:wrap.width(),height:wrap.height()}).appendTo(wrap);
$("<div class=\"datagrid-mask-msg\"></div>").html(opts.loadMsg).appendTo(wrap).css({display:"block",left:(wrap.width()-$("div.datagrid-mask-msg",wrap).outerWidth())/2,top:(wrap.height()-$("div.datagrid-mask-msg",wrap).outerHeight())/2});
}
});
}
,
//隐藏遮罩
loaded: function(jq){
return jq.each(function(){
$(this).datagrid("getPager").pagination("loaded");
var wrap = $.data(this,"datagrid").panel;
wrap.find("div.datagrid-mask-msg").remove();
wrap.find("div.datagrid-mask").remove();
});
}
});
})(jQuery);

使用方法:

复制代码 代码如下:

$("#dataGrid").datagrid("loadData",(function (){
$("#dataGrid").datagrid("loading");
return [];//[]需要加载的数据
})());

在datagrid的事件onLoadSuccess中添加

复制代码 代码如下:

onLoadSuccess:function (){
$("#dataGrid").datagrid("loaded");
}

writer:追梦客 20101030 office

时间: 2024-09-15 05:55:05

扩展easyui.datagrid,添加数据loading遮罩效果代码_jquery的相关文章

JQuery EasyUI学习教程之datagrid 添加、修改、删除操作_jquery

一篇关于JQueryEasyUI学习之datagrid 添加.修改.删除 学习笔记教程有需要了解的朋友可参考本的笔记,批量删除,双击表单修改.选中行修改,增加行修改,再有就是扩展editor的方法,无需废话,直接上代码,代码中的注释写的很详细 <script type="text/javascript" charst="utf-8">var editFlag = undefined;//设置一个编辑标记 //因为layout框架指向href时,只取htm

easyui datagrid 大数据加载效率慢,优化解决方法(推荐)_jquery

在使用easyui datagrid途中发现加载数据的效率真的不是一般的差.经测试IE8加载300条数据就感觉明显的慢了,加载2000条数据就另人崩溃用时差不多60秒,就算在google浏览器测试结果也快不了几秒. 平时听闻easyui datagrid效率底下,自己测试才发现真是使人无法忍受. 笔者只好百度,google解决方法,发现一篇文章说改 //1.3.3版本是这样的,其它版本也是这句代码 $(_1e0).html(_1e4.join("")); 改为: $(_1e0)[0].

easyui datagrid 导出数据到excel

问题描述 easyui datagrid 导出数据到excel 点击导出,将数据到出到excel , 模板如下 解决方案 将datagrid数据导出到excelDataGrid中的数据导出到EXCEL导出DataGrid中的数据到Excel 解决方案二: easyui datagrid数据导出excel文件 解决方案三: 利用一个超链接,传送到后台当前页的数字,比如:nowPager=3,然后后台读取这页的数据,然后利用poi-3.1-FINAL.jar这个第三方的库导出数据到Excel, 如何

jQuery Easyui datagrid连续发送两次请求问题_jquery

XXXXXX.datagrid({ url: "${pageContext.request.contextPath}/xx/xx/xx, }); 用上述方式动态加载datagrid的数据时,通过net监听,发现调用了两遍XX方法,目前的解决方案是,将url放到datagrid初始化的时候执行. $('#XXXX').datagrid({ fit: true, fitColumns: false, border: false, pagination: false, idField: 'id', s

easyui datagrid 键盘上下控制选中行示例_jquery

扩展datagrid的一个方法keyCtr 复制代码 代码如下: $.extend($.fn.datagrid.methods, { keyCtr : function (jq) { return jq.each(function () { var grid = $(this); grid.datagrid('getPanel').panel('panel').attr('tabindex', 1).bind('keydown', function (e) { switch (e.keyCode

实现easyui的datagrid导出为excel的示例代码_jquery

之前有介绍过如何实现easyui里datagrid内容的打印,今天给大家介绍下如何实现datagrid内容导出为excel文件.以下为代码实现: export.js function ChangeToTable(printDatagrid) { var tableString = '<table cellspacing="0" class="pb">'; var frozenColumns = printDatagrid.datagrid("o

jQuery实现类似标签风格的导航菜单效果代码_jquery

本文实例讲述了jQuery实现类似标签风格的导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款基于jquery实现的类似TAB标签样式的网站导航菜单,引入了jquery,若运行代码后左上角提示错误,刷新页面即可正常.你可点击菜单查看到整体的效果.点击后对应菜单项下移,可扩展成二级菜单,也可以改成TAB标签布局,感兴趣的朋友自己研究吧. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-bq-style-nav-menu-co

JQuery拖动表头边框线调整表格列宽效果代码_jquery

类似于桌面程序中的表格拖动表头的效果,当鼠标停留在表头边框线上时,鼠标会变成表示左右拖动的形状,接着拖动鼠标,会在表格中出现一条随鼠标移动的竖线,最后放开鼠标,表格列宽会被调整.最近比较空闲,便自己动手尝试实现,在此分享下小小的成果. 首先需要如图所示的鼠标图标文件,在自己的硬盘中搜索*.cur,肯定能找到. 为了能在所有需要该效果的页面使用,并且不需要更改页面任何HTML,我把所有的代码整合在 $(document).ready(function() {}); 中,并写入一个独立的JS文件.

基于jquery实现的上传图片及图片大小验证、图片预览效果代码_jquery

jquery实现上传图片及图片大小验证.图片预览效果代码 上传图片验证 复制代码 代码如下: */ function submit_upload_picture(){ var file = $('file_c').value; if(!/.(gif|jpg|jpeg|png|gif|jpg|png)$/.test(file)){ alert("图片类型必须是.gif,jpeg,jpg,png中的一种") }else{ $('both_form').action="file!u