该宏示例在 V10.5上 验证通过 提示:本文档的示例代码仅适用于本文档中的示例报表/场景。若实际报表/场景与示例代码无法完全适配(如使用功能不一致,或多个宏代码冲突等),需根据实际需求开发代码。 |
原有电子表格宏实现:https://wiki.smartbi.com.cn/pages/viewpage.action?pageId=51943252
把下面宏代码复制到代码区域
function main(page: IPage, portlet: ITableSheetPortlet) { let originalBackgroundColors: string[] = []; let prevRow: ISheetRow; for (let rowIndex = 0; rowIndex < portlet.getRowCount(); rowIndex++) { let row = portlet.getRow(rowIndex); row.addEventListener('click', function (e: SheetEvent) { // 还原上次点击的单元格背景色 if (prevRow) { for (let columnIndex = 0; columnIndex < portlet.getColumnCount(); columnIndex++) { let cell = prevRow.getCell(columnIndex); cell.setStyle({ 'background-color': originalBackgroundColors[cell.getColumnIndex()] }); } } prevRow = row; // 设置点击的单元格的背景色 for (let columnIndex = 0; columnIndex < portlet.getColumnCount(); columnIndex++) { let cell = row.getCell(columnIndex); // 单元格背景色备份 originalBackgroundColors[cell.getColumnIndex()] = cell.getStyle("background-color"); if (cell.getColumnIndex() > 2) { break; } cell.setStyle({ 'background-color': "#abe5fe" }); } }); } } |