分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

easyUI datagrid的合并的js封装

发布时间:2023-09-06 02:05责任编辑:顾先生关键词:jsjs封装
$.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; ???????????????????????????} ???????????????????????} ???????????????????} ???????????????}); ???????????}); ???????}); ???}});

使用方法:

$(this).datagrid("autoMergeCells",合并字段数组);
$(this).datagrid("autoMergeCells",[‘areaname‘,‘businessnames‘]);

  

easyUI datagrid的合并的js封装

原文地址:https://www.cnblogs.com/wgl0126/p/9353700.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved