zoukankan      html  css  js  c++  java
  • easyUI----纵向合并单元格

    使用Easyui-DataGrid过程用。做统计/报表等时经常会使用到合并单元格,原生态Easyui-DataGrid没有合并单元格的属性或方法。

    解决方案: 代码一 onLoadSuccess: function (data) { //data是默认的表格加载数据,包括rows和Total if (data.rows.length > 0) { //调用mergeCellsByField()合并单元格 mergeCellsByField("mygrid", "opt,buyprojectCode,buyprojectName,projectIndustryType,tenderName,agencyName,informationServiceFee,informationServiceState,fieldFee,fieldState"); } }

    代码二 /** * EasyUI DataGrid根据字段动态合并单元格 * 参数 tableID 要合并table的id * 参数 colList 要合并的列,用逗号分隔(例如:"name,department,office");

    function mergeCellsByField(tableID, colList) {
    var ColArray = colList.split(",");
    var tTable = $("#" + tableID);
    var TableRowCnts = tTable.datagrid("getRows").length;
    var tmpA;
    var tmpB;
    var PerTxt = "";
    var CurTxt = "";
    var buyprocode = "";
    var newbuyprocode = "";
    var alertStr = "";
    for (j = ColArray.length - 1; j >= 0; j--) {
    PerTxt = "";
    buyprocode = "";
    tmpA = 1;
    tmpB = 0;

    for (i = 0; i <= TableRowCnts; i++) {
    if (i == TableRowCnts) {
    CurTxt = "";
    newbuyprocode = "";
    }
    else {
    CurTxt = tTable.datagrid("getRows")[i][ColArray[j]];
    newbuyprocode = tTable.datagrid("getRows")[i]["buyprojectCode"];
    }
    if (PerTxt == CurTxt && buyprocode == newbuyprocode) {
    tmpA += 1;
    }
    else {
    tmpB += tmpA;

    tTable.datagrid("mergeCells", {
    index: i - tmpA,
    field: ColArray[j],  //合并字段
    rowspan: tmpA,
    colspan: null
    });
    tTable.datagrid("mergeCells", { //根据ColArray[j]进行合并
    index: i - tmpA,
    field: "Ideparture",
    rowspan: tmpA,
    colspan: null
    });

    tmpA = 1;
    }
    PerTxt = CurTxt;
    buyprocode = newbuyprocode;
    }
    }
    }

    在jQuery("#mygrid").datagrid的onLoadSuccess中调用mergeCellsByField 添加mergeCellsByField方法   注:如果不需要按照某个字段合并,由系统自动合并请移除代码二中buyprocode、newbuyprocode相关代码即可 

    转自 https://blog.csdn.net/qq_33578833/article/details/78812035

  • 相关阅读:
    关于在php+apache开发过程中使用svn进行版本的维护
    Fragment的切换动画实现
    IOS MJExtension json转模型的轻量级框架的使用
    Centos 配置Red5流媒体服务器
    在Centos 6.5 上面配置 SVN
    在Centos 上面配置Openfire
    关于阿里云上面的Centos上面配置 防火墙
    【Android 一些难以理解的控件、容易混淆的、多种实现方式的、一些该纠正的想法】
    【进攻移动开发_htm5_跨平台_的号角】
    【进攻Android的号角】
  • 原文地址:https://www.cnblogs.com/sx2zx/p/9687761.html
Copyright © 2011-2022 走看看