//合并相同行
$.extend($.fn.datagrid.methods, {
autoMergeCells: function (jq, fields) {
return jq.each(function () {
var target = $(this);
if (!fields) {
fields = target.datagrid("getColumnFields");
}
var rows = target.datagrid("getRows");
var i = 0,
j = 0,
temp = {};
for (i; i < rows.length; i++) {
var row = rows[i];
j = 0;
for (j; j < fields.length; j++) {
var field = fields[j];
var tf = temp[field];
if (!tf) {
tf = temp[field] = {};
tf[row[field]] = [i];
} else {
var tfv = tf[row[field]];
if (tfv) {
tfv.push(i);
} else {
tfv = tf[row[field]] = [i];
}
}
}
}
$.each(temp, function (field, colunm) {
$.each(colunm, function () {
var group = this;
if (group.length > 1) {
var before,
after,
megerIndex = group[0];
for (var i = 0; i < group.length; i++) {
before = group[i];
after = group[i + 1];
if (after && (after - before) == 1) {
continue;
}
var rowspan = before - megerIndex + 1;
if (rowspan > 1) {
target.datagrid('mergeCells', {
index: megerIndex,
field: field,
rowspan: rowspan
});
}
if (after && (after - before) != 1) {
megerIndex = after;
}
}
}
});
});
});
}
});

最新文章

  1. generator自动生成mybatis配置和类信息
  2. 鸟哥的linux私房菜学习记录之系统设定工具与硬件检测
  3. 【转】Xcode 6制作动态及静态Framework
  4. android Animation 动画绘制逻辑
  5. Mvc 中ViewBag Model 查找不到解决
  6. Python中整数和浮点数
  7. Python不同电脑之间传输文件实现类似scp功能不输密码
  8. jquery ajax 报交请求返回 HTTP 400 错误
  9. 用正则匹配一串字符串中的ip地址
  10. 为什么有时候必须添加sys.setdefaultencoding(&#39;utf-8&#39;)
  11. !终端伪装测试之fuck校园网
  12. 【转载】JAVA中综合接口和抽象类实现的一种“抽象接口”
  13. tomcat 日志切割 catalina.out
  14. 【BZOJ5294】[BJOI2018]二进制(线段树)
  15. Library弱依赖打包
  16. 9、Dockerfile实战-Nginx
  17. 使用Chrome保存网页为mht文件
  18. oracle怎么恢复被覆盖的存储过程
  19. UVA-10163 Storage Keepers (0-1背包)
  20. Python:集合操作总结

热门文章

  1. MyBatis基础入门《十六》缓存
  2. PHP语句函数
  3. node.js中express模块创建服务器和http模块客户端发请求
  4. Python全栈-day2-day3-语法基础1
  5. sqlserver清除缓存,记录查询时间
  6. 为什么C++函数形参默认值从最末一个赋值?
  7. 项目方说性能达到百万TPS,如何测试它的可信度?
  8. centos 安装arcgis server 10.1
  9. 教你如何修改CentOS系统上的时间
  10. Hybrid App中原生页面 VS H5页面(分享)