Demo.Func = BI.inherit(BI.Widget, { props: { baseCls: "demo-func" }, render: function () { var items = [{ children: [{ type: "bi.page_table_cell", text: "node1", children: [{ type: "bi.page_table_cell", text: "childnode1", values: [{type: "bi.page_table_cell", text: 101}, { type: "bi.page_table_cell", text: 102 }, {type: "bi.page_table_cell", text: 101}, { type: "bi.page_table_cell", text: 102 }, {type: "bi.page_table_cell", text: 101}] }, { type: "bi.page_table_cell", text: "childnode2", values: [{type: "bi.page_table_cell", text: 201}, { type: "bi.page_table_cell", text: 202 }, {type: "bi.page_table_cell", text: 201}, { type: "bi.page_table_cell", text: 202 }, {type: "bi.page_table_cell", text: 201}] }], values: [{type: "bi.page_table_cell", text: 1001}, { type: "bi.page_table_cell", text: 1002 }, {type: "bi.page_table_cell", text: 1001}, { type: "bi.page_table_cell", text: 1002 }, {type: "bi.page_table_cell", text: 1001}] }], values: [{type: "bi.page_table_cell", text: 12001}, { type: "bi.page_table_cell", text: 12002 }, {type: "bi.page_table_cell", text: 12001}, { type: "bi.page_table_cell", text: 12002 }, {type: "bi.page_table_cell", text: 12001}] }]; var header = [{ type: "bi.page_table_cell", text: "header1" }, { type: "bi.page_table_cell", text: "header2" }, { type: "bi.page_table_cell", text: "jine", tag: 1 }, { type: "bi.page_table_cell", text: "jine", tag: 2 }, { type: "bi.page_table_cell", text: "jine", tag: 3 }, { type: "bi.page_table_cell", text: "金额汇总", tag: 4 }, { type: "bi.page_table_cell", text: "金额汇总2", tag: 5 }]; var crossHeader = [{ type: "bi.page_table_cell", text: "cross1" }, { type: "bi.page_table_cell", text: "cross2" }]; var crossItems = [{ children: [{ type: "bi.page_table_cell", text: "node1", values: [1, 2, 3] }, { type: "bi.page_table_cell", text: "node3", values: [1, 2] }] // values: [1, 2] }]; var table1 = BI.createWidget({ type: "bi.page_table", el: { type: "bi.sequence_table", showSequence: true, el: { type: "bi.dynamic_summary_tree_table", el: { type: "bi.adaptive_table", el: { type: "bi.resizable_table", el: { type: "bi.collection_table" } } } }, sequence: { type: "bi.sequence_table_dynamic_number" } }, summaryCellStyleGetter: function (isLast) { return isLast ? { backgroundColor: "#6495ED", color: "#ffffff" } : { backgroundColor: "#B0C4DE", color: "#ffffff" }; }, sequenceCellStyleGetter: function (index) { return { backgroundColor: "#87CEEB", color: "#ffffff" }; }, headerCellStyleGetter: function () { return { backgroundColor: "#6495ED", color: "#ffffff" }; }, pager: { horizontal: { pages: false, // 总页数 curr: 1, // 初始化当前页, pages为数字时可用 hasPrev: function (page) { return page > 1; }, hasNext: function (page) { return page < 3; } }, vertical: { pages: false, // 总页数 curr: 1, // 初始化当前页, pages为数字时可用 hasPrev: function (page) { return page > 1; }, hasNext: function (page) { return page < 3; } } }, itemsCreator: function (op, populate) { var vpage = op.vpage || ""; var hpage = op.hpage || ""; BI.each(header, function (i, h) { h.text = h.text + "V" + vpage + "H" + hpage; }); populate(items, header, crossItems, crossHeader); }, width: 600, height: 400, columnSize: [100, 100, 100, 100, 100, 100, 100], minColumnSize: [100, 100, 100, 100, 100, 100, 100], isNeedMerge: true, isNeedFreeze: true, mergeCols: [0, 1], mergeRule: function (col1, col2) { if (col1 === col2) { return true; } if (col1.tag && col2.tag) { return col1.tag === col2.tag; } return col1 === col2; }, freezeCols: [0, 1], header: header, items: items, crossHeader: crossHeader, crossItems: crossItems }); table1.populate(); // table1.populate(items, header, crossItems, crossHeader); BI.createWidget({ type: "bi.absolute", element: this, items: [{ el: { type: "bi.grid", columns: 1, rows: 1, items: [[{ el: table1 }]] }, left: 10, right: 10, top: 10, bottom: 10 }] }); } }); BI.shortcut("demo.page_table", Demo.Func);