zoukankan      html  css  js  c++  java
  • jQuery Easyui Datagrid相同连续列合并扩展

    /**

    * author ____′↘夏悸
    * create date 2012-11-5
    **/
    $.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;
    }
    }
    }
    });
    });
    });
    }
    });

  • 相关阅读:
    转码解码问题
    时间问题
    弹框
    获取地址栏参数
    vue返回上一页面如果没有上一页面返回首页
    html知识点
    传统的事件类型
    vue的指令
    事件取消
    事件处理程序
  • 原文地址:https://www.cnblogs.com/huangf714/p/5911679.html
Copyright © 2011-2022 走看看