hiprint 自定义表格行、列

1,675 阅读1分钟


源码位置:

未格式化前第 1619 行:

TableExcelHelper.createRowTarget = function()

image-20220627193547501.png

修改前:

o.data("rowData", e), t.rowColumns.forEach(function (t, i) {
                    var r = $("<td></td>");
                    t.field && r.attr("field", t.field), t.align && r.css("text-align", t.align), t.vAlign && r.css("vertical-align", t.vAlign);
                    var a = TableExcelHelper.getColumnFormatter(t),
                        p = a ? a(e[t.field], e, i, n) : e[t.field];
                    r.html(p);
                    var s = TableExcelHelper.getColumnStyler(t);
​
                    if (s) {
                        var l = s(e[t.field], e, i, n);
                        if (l) Object.keys(l).forEach(function (t) {
                            r.css(t, l[t]);
                        });
                    }
​
                    o.append(r);
                });

修改后:

o.data("rowData", e);
// 自定义row、column 
                if (e.row && e.row.height) {
                    o.css('height', e.row.height)
                }
                if (e.columns) {
                    e.columns.forEach(function (t, i) {
                        var r = $("<td colspan=" + t.colspan + "></td>");
                        t.field && r.attr("field", t.field), t.align && r.css("text-align", t.align), t.vAlign && r.css("vertical-align", t.vAlign);
                        var a = TableExcelHelper.getColumnFormatter(t),
                            p = a ? a(e[t.field], e, i, n) : e[t.field];
                        r.html(p);
                        var s = TableExcelHelper.getColumnStyler(t);
​
                        if (s) {
                            var l = s(e[t.field], e, i, n);
                            if (l) Object.keys(l).forEach(function (t) {
                                r.css(t, l[t]);
                            });
                        }
​
                        o.append(r);
                    });
                } else {
                    // 源码部分
                    t.rowColumns.forEach(function (t, i) {
                        var r = $("<td></td>");
                        t.field && r.attr("field", t.field), t.align && r.css("text-align", t.align), t.vAlign && r.css("vertical-align", t.vAlign);
                        var a = TableExcelHelper.getColumnFormatter(t),
                            p = a ? a(e[t.field], e, i, n) : e[t.field];
                        r.html(p);
                        var s = TableExcelHelper.getColumnStyler(t);
​
                        if (s) {
                            var l = s(e[t.field], e, i, n);
                            if (l) Object.keys(l).forEach(function (t) {
                                r.css(t, l[t]);
                            });
                        }
​
                        o.append(r);
                    });
                }

用法:

image-20220627193330788.png

效果:

image-20220627193407453.png