zoukankan      html  css  js  c++  java
  • easyui内容合并单元格

    在easyui的方法中调用 onLoadSuccess: function () {
    autoMergeCells('tableDataGrid', ["分类一", "分类一数量", "分类一占比"],"分类一");
    },

    //自动合并单元格 

    //三个参数分别为:表格id,要合并字段的数组,判断字段(不一样则不合并)即以哪一类为准

    function autoMergeCells(table_id, field_arr, judge) {
    var rows = $("#" + table_id).datagrid("getRows");
    if (NULL(field_arr) || NULL(rows)) {
    return;
    }
    for (var i = 1; i < rows.length; i++) {
    for (var k = 0; k < field_arr.length; k++) {
    var field = field_arr[k]; //要排序的字段
    if (rows[i][field] == rows[i - 1][field]) { //相邻的上下两行
    if (NOTNULL(judge)) {
    if (rows[i][judge] != rows[i - 1][judge]) {
    break;
    }
    }
    var rowspan = 2;
    for (var j = 2; i - j >= 0; j++) { //判断上下多行内容一样
    if (rows[i][field] != rows[i - j][field]) {
    break;
    } else {
    if (NOTNULL(judge)) {
    if (rows[i][judge] != rows[i - j][judge]) {
    break;
    }
    }
    rowspan = j + 1;
    }
    }
    $("#" + table_id).datagrid('mergeCells', { //合并
    index: i - rowspan + 1,
    field: field,
    rowspan: rowspan
    });
    }
    }
    }
    }

    function NOTNULL(obj) {
    if (typeof (obj) == "undefined" || obj === "" || obj == null || obj == "null") {
    return false;
    }
    return true;
    }
    function NULL(obj) {
    if (typeof (obj) == "undefined" || obj === "" || obj == null || obj == "null") {
    return true;
    }
    return false;
    }

  • 相关阅读:
    [freemarker篇]03.如何处理空值
    [Android篇]Android Studio + Genymotion 一夜无眠 ,超级详细版本[请使用新版2.0]
    [freemarker篇]02.生成HTML的静态页面
    [freemarker篇]01.入门Freemarker示例
    验证码-直接使用
    jquery基础介绍-转
    VBA与宏
    .net打印
    [CCF] 201612-1 中间数
    [LeetCode] 56. Merge Intervals(vector sort)
  • 原文地址:https://www.cnblogs.com/hobby0524/p/11573190.html
Copyright © 2011-2022 走看看