easyui datagrid 合并 相同行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui datagrid 合并 相同行相关的知识,希望对你有一定的参考价值。

如何根据查询数据动态的获取某一列相同数据的进行自动合并? 例如南翔镇合并为一个单元格,江桥镇合并为一个单元格?

参考技术A

这个 你最好扩展一下 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即可

本回答被提问者和网友采纳

以上是关于easyui datagrid 合并 相同行的主要内容,如果未能解决你的问题,请参考以下文章

easyui datagrid行合并

JQuery EasyUI DataGrid动态合并单元格

easyUI datagrid的合并的js封装

Easyui Datagrid的Rownumber行号显示问题

Easyui Datagrid的Rownumber行号显示问题

easyUi datagrid设置列的开启和隐藏