zoukankan      html  css  js  c++  java
  • EasyUI合并行

    扩展一下 EasyUI   下面湿扩展EasyUI 合并行的方法

    $.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;

                                }

                            }

                        }

                    });

                });

            });

        }

    });

    使用方法:$('#grid).datagrid("autoMergeCells", ['field1', 'field2','field3',……]);

    后面的数组 即 你想要合并的显示的  列   如果你只有一个列需要合并   那么数组中指定一个列的field即可

     本文引自 https://zhidao.baidu.com/question/1368251468902061979.html
  • 相关阅读:
    JavaScript跨域总结与解决办法
    css IFC 与 BFC分析
    JavaScript Note
    Knowledge Architecture
    BSP
    Olympiad
    Software Engineering
    Assembly Language
    Algorithm
    Data Structure
  • 原文地址:https://www.cnblogs.com/hanshuhe/p/6613735.html
Copyright © 2011-2022 走看看