easyui datagrid 合并单元格

整理以前做的东西,这个合并单元格的问题再新浪博客也写过了。。。。。

下面这段代码是列表数据

//载入排放系数管理报表数据
        function LoadEmissionReportData() {
            //获取计算ID
            var CountID = getUrlParam("CountID");
            $.ajax({
                type: "POST",
                url: "../Ashx/GetGasInventoryListInfo.ashx?type=getParamReport",
                data: { "CountID": "" + CountID + "" },
                datatype: "text",
                cache: false,
                success: function (data) {
                    if (data != "") {
                        var jdata = $.parseJSON(data);
                        $("#paramTable").datagrid({
                            idField: "id",      //标识字段,主键
                            pagination: false,   //是否开启分页
                            rownumbers: true,   //行号
                            singleSelect: true, //是否开启单选还是多选
                            rownumbers: true,
                            pageSize: 10,
                            pageNumber: 1,
                            title: "排放系数管理表",
                            width: "1160",
                            columns: [[
                        { field: ‘ID‘, title: ‘编号‘, width: 60, rowspan: 2, align: ‘center‘ },
                        { field: ‘Ext1‘, title: ‘设施\活动‘, width: 80, rowspan: 2, align: ‘center‘ },
                        { field: ‘SName‘, title: ‘排放源‘, width: 80, rowspan: 2, align: ‘center‘ },
                        { field: ‘form‘, title: ‘排放来源形式‘, width: 130, rowspan: 2, align: ‘center‘ },
                        { title: ‘排放系数(公制单位)数据‘, colspan: 5 },
                        { field: ‘remark‘, title: ‘备注‘, width: 80, rowspan: 2, align: ‘center‘ }
                    ],
                    [
                    { field: ‘name‘, title: ‘参数名称‘, width: 268, align: ‘center‘ },
                        { field: ‘param‘, title: ‘量子‘, width: 118, align: ‘center‘ },
                        { field: ‘unit‘, title: ‘单位‘, width: 118, align: ‘center‘ },
                        { field: ‘type‘, title: ‘排放系数类别‘, width: 100, align: ‘center‘ },
                        { field: ‘level‘, title: ‘排放系数等级‘, width: 100, align: ‘center‘ }
                    ]
                    ],
                            data: jdata
                        });
                    }
                    else {
                        AlertMsg("90045");//这是我们自己写的弹框js
                    }
                },
                error: function () {
                    AlertMsg("90002");
                }
            });
            $("#paramTable").datagrid({
                onLoadSuccess: function (data) {
                    if (data.rows.length > 0) {
                        //调用mergeCellsByField()合并单元格
                        mergeCellsByField("paramTable", "ID,Ext1,SName,form");

                    }
                }
            });
        }

合并单元格的代码

 function mergeCellsByField(tableID, colList) {
            var ColArray = colList.split(","); //切割需要合并的列名
            var tTable = $("#" + tableID);
            var TableRowCnts = tTable.datagrid("getRows").length;//获取整个table的行数
            var tmpA;
            var tmpB;
            var PerTxt = "";//记录单元格的值
            var CurTxt = "";
            var alertStr = "";

            PerTxt = "";
            tmpA = 1;//记录合并的行数
            tmpB = 0;
            //当列名为ID时 记录合并的行索引 和合并的行数 其他列则跟着从相同索引值开始合并相同的行数
            //遍历表格
            for (i = 0; i <= TableRowCnts; i++) {
                if (i == TableRowCnts) {
                //表格为空
                    CurTxt = "";
                }
                else {
                    CurTxt = tTable.datagrid("getRows")[i]["ID"];
                }
                if (PerTxt == CurTxt) {
                    tmpA += 1;
                }
                else {
                    tmpB += tmpA;
                    for (var j = 0; j < ColArray.length; j++) {
                        tTable.datagrid("mergeCells", {
                            index: i - tmpA,
                            field: ColArray[j], //合并字段
                            rowspan: tmpA,
                            colspan: null
                        });
                    }
                    tmpA = 1;
                }
                PerTxt = CurTxt;
            }
        };

效果图:

easyui datagrid 合并单元格,布布扣,bubuko.com

时间: 2025-01-06 15:03:43

easyui datagrid 合并单元格的相关文章

DataGrid合并单元格(wpf)

在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Header也放一个DataGrid,但是合并的这一个连续列中只支持一列的拖动,效果如下,上图 代码如下 首先定义两个模板,一个用于合并的Header显示 <DataTemplate x:Key="MergeHeader">             <DataGrid Horizo

WPF DataGrid 合并单元格

在网上搜索wpf合并单元格,一直没搜索到,没办法,只能自己想办法搞定了.其实就是DataGrid套DataGrid,为了方便支持Column拖动,在合并的DataGridColumn那一列的Header也放一个DataGrid,但是合并的这一个连续列中只支持一列的拖动,效果如下,上图 代码如下 首先定义两个模板,一个用于合并的Header显示 <DataTemplate x:Key="MergeHeader">             <DataGrid Horizo

EasyUI DataGrid 编辑单元格

之前文章 EasyUI DataGrid可编辑单元格实现可编辑单元格,如果有多列都需要可编辑 当点击一个单元格 则此整行都会进行编辑 如下图: 现改为单击某个单元格只对此单元格进行可编辑 <TABLE>标记添加 onClickCell <table id="dg" class="easyui-datagrid" data-options="onClickCell: onClickCell"> 需要进行编辑的列上添加 edi

EasyUI DataGrid根据字段动态合并单元格

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri=&

JQuery EasyUI DataGrid动态合并单元格

/**        * EasyUI DataGrid根据字段动态合并单元格        * @param fldList 要合并table的id        * @param fldList 要合并的列,用逗号分隔(例如:"name,department,office");        */        function MergeCells(tableID, fldList) {            var Arr = fldList.split(",&quo

[easyui][datagrid]EasyUI DataGrid根据字段动态合并单元格

1.合并方法 /** * EasyUI DataGrid根据字段动态合并单元格 * 参数 tableID 要合并table的id * 参数 colList 要合并的列,用逗号分隔(例如:"name,department,office"); */ function mergeCellsByField(tableID, colList) { var ColArray = colList.split(","); var tTable = $("#" +

easyui 自动动态合并单元格

.......onLoadSuccess : function(data) { if (data.rows.length > 0) { //调用mergeCellsByField()合并单元格 mergeCellsByField("grid","supply_fullname,in_supply,in_no,in_sales"); } } function mergeCellsByField(tableID, colList) { //alert(tableI

jQuery_easyUI 合并单元格 (DataGrid 数据表格)

<table id="dg" style="height:350px;z-index:-5555; " class="easyui-datagrid" rownumbers="true" data-options="fitColumns: true, iconCls: 'icon-edit', scrollbarSize:0, multiSort:true, remoteSort:true, paginatio

easyui前台改变datagrid某单元格的值

有时候前台完成某个操作后要修改datagrid的值, 也许这个datagrid是没有保存的, 所以要修改后才能传递到后台; 也许要其他操作过后才需请求后台; 这些情况都需要前台对datagrid的单元格进行修改操作: 假设我们有一个” staffLogDetailGrid”的datagrid; // 得到columns对象 var columns = $('#dg').datagrid("options").columns; // 得到rows对象 var rows = $('#dg'