jQuery MiniUI

 找回密码
 立即注册
查看: 4193|回复: 4
打印 上一主题 下一主题

关于 自定义复杂表头和合并单元格 [复制链接]

Rank: 1

跳转到指定楼层
楼主
发表于 2016-10-18 15:46:43 |只看该作者 |倒序浏览
我在表格加载完成后,用grid.set({columns自定义了复杂表头,
然后用了  grid.mergeColumns 来合并单元格。这样没效果。我发现他们两个有冲突,自定义表头和合并单元格单独存在一个是有效果的,两个一起就没效果了

Rank: 8Rank: 8

沙发
发表于 2016-10-18 16:09:47 |只看该作者
把你的操作代码都贴出来,包括加载,setColumns和mergeColumns

Rank: 1

板凳
发表于 2016-10-18 16:12:30 |只看该作者
felt 发表于 2016-10-18 16:09
把你的操作代码都贴出来,包括加载,setColumns和mergeColumns

//初始化表头
    function initColumns() {
        var grid = mini.get("Detail");
        grid.set({
            fitColumns: true,
            columns: [
          { header: "事业部名称", field: "DepartmentName", width: 80, headerAlign: "center" },
          { header: "项目名称", field: "ProjectName", width: 80, headerAlign: "center" },
          { header: "分包合同号", field: "SupplierContractCode", width: 80, headerAlign: "center" },
          { header: "分包项目名称", field: "SupplierContractName", width: 80, headerAlign: "center" },
          { header: "分包商名称", field: "SupplierName", width: 80, headerAlign: "center" },
          { header: "分包合同额", field: "SupplierContractAmount", width: 80, headerAlign: "center" },
          { header: "款项类别", field: "MoneyCategory", width: 80, headerAlign: "center" },
          { header: "本月计划付款", field: "fukuan", width: 80, headerAlign: "center",
              columns: [
                { header: "电汇", field: "TelegraphicTransfer", width: 80, headerAlign: "center" },
                { header: "承兑", field: "Acceptance", width: 80, headerAlign: "center" },
                { header: "合计", field: "Total", width: 80, headerAlign: "center" }
            ]
          }

            ]
        });
    }

    function merge() {
        var grid = mini.get("Detail");
        grid.mergeColumns(["DepartmentName"]);
}

    function updateGrid(data) {
        var datagrid = mini.get("Detail");
        for (var i = 0; i < data.length; i++) {
            var newRow = {
                DepartmentName: data.DepartmentName,
                ProjectName: data.ProjectName,
                SupplierContractCode: data.SupplierContractCode,
                SupplierContractName: data.SupplierContractName,
                SupplierName: data.SupplierName,
                SupplierContractAmount: data.SupplierContractAmount,
                MoneyCategory: data.MoneyCategory,
                TelegraphicTransfer: data.dianhui,
                Acceptance: data.chengdui,
                Total: 1
            };
            datagrid.addRow(newRow);
        }
        merge();
    }

Rank: 8Rank: 8

地板
发表于 2016-10-18 16:19:56 |只看该作者
zqys123456 发表于 2016-10-18 16:12
//初始化表头
    function initColumns() {
        var grid = mini.get("Detail");

1 添加多行请使用addRows,而不是一条条addRow
2 mergeColumns是根据列的name来合并的,你并没有name=DepartmentName的列

Rank: 1

5#
发表于 2016-10-18 16:24:05 |只看该作者
felt 发表于 2016-10-18 16:19
1 添加多行请使用addRows,而不是一条条addRow
2 mergeColumns是根据列的name来合并的,你并没有name=Dep ...

疏忽了,在自定义列的时候忘记写name了  谢谢

Archiver|普加软件

GMT+8, 2025-7-7 04:09 , Processed in 1.025592 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部