easyui datagrid 在IE上加载速度慢, 150行数据就无法忍受了. firefox加载速度还可以.

jquery easyui datagrid使用参考

http://www.cnblogs.com/youring2/archive/2013/03/01/2938661.html  

优化的点有2个:
(1) column的宽度不能设置为自适应, 否则grid刷新速度很慢.  
(2) 采用datagrid-scrollview 方式来渲染数据.

参考文章有:
http://blog.csdn.net/yanghongchang_/article/details/8017715
http://blog.csdn.net/zjh527/article/details/9144629

我的IE 8兼容的版本选择组合(已过时, 仅留个记录):
(1) jquery_easyui V1.3.2, 这是最后一个支持IE8 的版本.
(2) jQuery version 1.8.0, 取自jquery_easyui V1.3.2的下载包中, 和IE8兼容, V1.9以上版本与IE8不兼容.
(3) Bootstrap v3.0.3, 不能使用v3.3.1, 因为v3.3.1需要 jQuery version 1.9.1+. Bootstrap 各版本的下载地址: https://github.com/twbs/bootstrap/tags
(4) easyui的 datagrid-scrollview.js, 采用了easyui官方提供最新版datagrid-scrollview.js
    官网最新的版本地址是:  http://www.jeasyui.com/easyui/datagrid-scrollview.js  
    老版本: https://raw.githubusercontent.com/agusneos/template/master/assets/easyui/datagrid-scrollview.js

在引入了datagrid-scrollview.js后, 解决了加载速度问题, 但也有下面新的问题:
    a.老版本datagrid-scrollview.js, 问题是:
      firefox/IE中,  快速拖动滚动条, 会自动重新从后台DB加载数据.
    b.官方新版datagrid-scrollview.js, 问题是:
      firefox,  快速拖动滚动条, 会自动重新从后台DB加载数据.
      IE, 拖动滚动条, 会有语法错误警告, 但不会自动重新从后台DB加载数据, 好在不影响使用.   
      
      
下面是20150225 更新, 下载了jQuery EasyUI 最新版1.4.1.x, 发现之前碰到的IE8 js脚本报错的问题(报错但不影响正常使用), 现在都解决了.
 
IE 8兼容的版本选择组合(基于JQuery v1.11.2, 20150225 更新):  
 jQuery v1.11.2, 下载 http://www.jeasyui.com/easyui/jquery.min.js
 Bootstrap v3.3.2 , 下载 https://github.com/twbs/bootstrap/tags
 jQuery EasyUI 1.4.1.x, 下载 http://www.jeasyui.com/easyui/jquery.easyui.min.js
 datagrid-scrollview.js, 下载 http://www.jeasyui.com/easyui/datagrid-scrollview.js

IE 8兼容的版本选择组合(基于JQuery v1.8, 20150225 更新): 
 jQuery v1.8.0
 Bootstrap v3.0.3 , 下载 https://github.com/twbs/bootstrap/tags
 jQuery EasyUI 1.4.1.x, 下载 http://www.jeasyui.com/easyui/jquery.easyui.min.js
 datagrid-scrollview.js, 下载 http://www.jeasyui.com/easyui/datagrid-scrollview.js   

另外, 最新的jquery-easyui-1.4.1 版本中, 新引入了 easyui-textbox 组件, 使用方式和 easyui-combobox 差不多, 风格也都是flat样式, 用起来还方便,  但在V1.3.2只能使用标准的input. 为了风格统一, 需要定制一下样式.

html代码:

<input   id="tbName" name="tbName"  class="textbox_readonly"  readonly  size="29"  value="{{your_name}}" >

flat风格的css样式
/* ----------Text Boxes------------*/
.textbox_flat {
    border: 1px solid #6297BC;
}

.textbox_readonly {
    border: 1px dotted #000000;
    outline:0;
    height:22px;  
}

下面javascript代码, 获取textbox的内容
yourName = $('#tbName').val()

总体来讲, easyui datagrid在显示大数据量的时候, 性能还是不太高, 下面几个替代也许可以.

jqGrid
https://free-jqgrid.github.io

http://www.trirand.com/blog/jqgrid/jqgrid.html

SlickGrid
https://github.com/mleibman/SlickGrid/wiki

jqxgrid
http://www.jqwidgets.com/

确定以后 grid 基本都是用 jqgrid 了, 我选择的是free-jqgrid分支版,  jqgrid优点很多: 加载大量数据时效率很好, 支持排序, 支持过滤, 支持resize, 支持分页, 支持export excel, 支持上下键导航, 支持cell formatter, 支持 row的group, 支持tree node, 支持header的group, 支持列冻结, 支持 master-detail, 支持sub grid.

选择不同的jquery ui theme , jqgrid 的 theme 会跟着变.

关于License:
原版 jqgrid 4.7.0 和之前的版本是可以在商业应用中免费使用, jqgrid 4.7.1商业中需要购买, 冠名为 Guriddo jqGrid
Oleg 基于 jqgrid 4.7.0 fork了一个free-jqgrid版本, license 和  jqgrid 4.7.0 一致.
license 说明, http://stackoverflow.com/questions/28529308/jqgrid-license-with-mit-gpl-v2-vs-guriddo-jqgrid-js-creative-commons-license

Jqgrid相关资源:
free-jqgrid 分支的release, https://github.com/free-jqgrid/jqGrid/releases
free-jqgrid的文档: https://free-jqgrid.github.io
jqgrid 3.7 demo的页面, 虽然版本老了点, 但demo组织的非常好,  http://www.trirand.com/blog/jqgrid/jqgrid.html
guriddo分支的demo页面, http://www.guriddo.net/demo/guriddojs/

中文jqgrid资源

jqgrid export to excel, 有很好的option说明, 另外将本项目的jqGridExportToExcel.js, 再结合Jordi Burgos 的 ExcellentExport.js应该能做一个通用的纯客户端的data export功能.
  http://www.codeproject.com/Tips/784342/Export-Data-from-jqGrid-into-a-real-Excel-File

keepfool的博客总是很棒的, 博文: 细说jquery ui和jqgrid的ASP.NET实现
   http://www.cnblogs.com/keepfool/archive/2012/01/05/2313692.html

一系列jqgrid的文章
  http://blog.csdn.net/gengv/article/category/637232

jQuery学习笔记--jqGrid的属性列表
  http://blog.csdn.net/hurryjiang/article/details/6888002
  http://blog.csdn.net/hurryjiang/article/details/6959362

jqGrid整理
  http://www.cnblogs.com/mycoding/archive/2011/07/07/2099878.html

jqGrid 中文实例demo
  http://blog.mn886.net/jqGrid/

EasyUI datagrid优化的更多相关文章

  1. Spring+SpringMVC+MyBatis+easyUI整合优化篇(七)图片上传功能

    日常啰嗦 前一篇文章<Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合>讲了富文本编辑器UEditor的整合与使用 ...

  2. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  3. JQuery easyUI DataGrid 创建复杂列表头(译)

    » Create column groups in DataGrid The easyui DataGrid has ability to group columns, as the followin ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(8)-MVC与EasyUI DataGrid 分页

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 EasyUI Datagrid在加载的时候会提交一些分页的信息到后台,我们需要根据这些信息来进行数据分页再次返回到前台 实 ...

  5. 控制EasyUI DataGrid高度

    这次要说的是控制EasyUI的高度,平时我公司的项目,用EasyUI较多,然后datagrid这个组件是用的非常多的.平时我们都是固定高度,常见代码如下:             <table  ...

  6. EasyUI datagrid 日期时间格式化

    EasyUI datagrid中显示日期时间时,会显示为以下不太直观的数值: 添加以下JavaScript脚本,然后在field中添加 formatter: DateTimeFormatter 即可. ...

  7. easyui datagrid中 多表头方法总结

    easyui datagrid中怎么设置表头成多行显示呢?其实很简单,就是给datagrid的columns属性设置成多个数组就行了.下面直接看例子吧,这是一个两行表头的,按照此方法,还可以设置三行表 ...

  8. jquery easyui datagrid翻页后再查询始终从第一页开始

    在查询之前将datagrid的属性pageNumber重新设置为1 var opts = grid.datagrid('options'); opts.pageNumber = 1; easyui d ...

  9. 让easyui datagrid支持bootstrap的tooltip

    让easyui datagrid支持bootstrap的tooltip 发表于 下午 1:53 by ylpro.net & 分类 Java. Easyui在1.3.3版本之前是不支持tool ...

随机推荐

  1. 环信webim1.1.2版本在windows下npm环境搭建错误解决

    1.1.2版本的webim从ui到整体的代码结构都做了很大改变,从代码结构上采用node.js的环境进行开发和打包,最终打包的输出项目,不依赖node.js的环境进行运行,得益于webpack的打包实 ...

  2. 数据结构算法C语言实现(十七)--- 5.1&5.2数组:定义、顺序表示及实现

    一.简述 理解数组位置的计算公式 LOC(j1, j2, ···, jn) = LOC(0, 0, ..., 0) + (b2 x ··· x bn x j1 + b3 x ··· x bn x j2 ...

  3. spring容器初始化执行某个方法

    在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出 ...

  4. POJ3612:Telephone Wire

    传送门 一道很棒的DP题目. 裸的DP方程很好搞: $f[i][j]=min \{ f[i-1][k]+ C \times |k-j| +(k-a[i])^2 \}$ 这个复杂度显然无法承受,考虑优化 ...

  5. JS-Date对象

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>D ...

  6. C#中值类型和引用类型图解

    举几个值类型和引用类型的内存配置: 值类型存储在栈中,引用类型堆里: 1,数组 数组是引用类型,但是数组的元素可以是值类型或引用类型 2. 结构 结构是值类型,简略的看个例子 struct sampl ...

  7. aircrack-ng test

    Aircrack-ng工具包有很多工具,我用到的工具主要有以下几个: airmon-ng 处理网卡工作模式 airodump-ng 抓包 aircrack-ng 破解 aireplay-ng 发包,干 ...

  8. CentOS6.5 安装Sphinx 配置MySQL数据源

      前提安装完mysql,并创建测试表和数据 DROP TABLE IF EXISTS `documents`; CREATE TABLE IF NOT EXISTS `documents` ( `i ...

  9. VC----Class Style类风格和窗口风格

    CS_BYTEALIGNCLIENT:以字节边界来对齐窗口客户区,这个风格会影响 窗口 的宽度和水平位置.实际上没有看到效果. CS_BYTEALIGNWINDOW:以字节边界来对齐窗口,这个风格会影 ...

  10. PHP----遇到的Session问题

    使用SESSION,当跨页面使用时,会提示错误Cannot modify header information - headers already sent by..., 背景:使用session_s ...