示例说明
给电子表格回写工具栏按钮添加文字,如下图所示:
实现方案
在报表宏界面新建客户端模块。在弹出的新建模块对话框中,选择对象为spreadSheetReport、事件为onRenderReport、并把下面宏代码复制到代码编辑区域。
宏类型
类型 | 对象 | 事件 |
---|---|---|
ClientSide | spreadsheetReport | onRenderReport |
宏代码
代码块 | ||||
---|---|---|---|---|
| ||||
// 类型:客户端宏,对象:电子表格,事件:onRenderReport function main(spreadsheetReport) { // 常规报表相关按钮 var writeback = addDescSpan(spreadsheetReport.spreadsheetReportWriteBackelem_btnRefresh, "刷新"); writebackaddDescSpan(spreadsheetReport.elem_btnClearModified.value = " 清空数据修改记录";btnExport, "导出"); addDescSpan(spreadsheetReport.elem_btnPrint, "打印"); addDescSpan(spreadsheetReport.elem_btnMyFavorite, "收藏"); addDescSpan(spreadsheetReport.elem_btnTimeConsuming, "耗时分析"); // 回写报表相关按钮 var writeback = spreadsheetReport.spreadsheetReportWriteBack; if (writeback) { addDescSpan(writeback.elem_btnClearModified.style.width =, "清空数据修改记录", "118px120px"); addDescSpan(writeback.elem_btnSave.value = ", "保存"); 保存"addDescSpan(writeback.elem_btnAppendRow, "添加行"); addDescSpan(writeback.elem_btnSave.style.width =btnRemoveRow, "48px删除行"); } if (writeback.elem_btnAppendRow.value = "btnBatchImport) { addDescSpan(writeback.elem_btnBatchImport, "批量导入"); } // 和Excel导入模板绑定了的相关按钮 if (spreadsheetReport.elem_btnExcelImport) { 添加行" writebackaddDescSpan(spreadsheetReport.elem_btnAppendRow.style.width = "60pxbtnExcelImport, "Excel导入"); } setTimeout(function() { if (spreadsheetReport.elemImportConfig) { addDescSpan(spreadsheetReport.elemImportConfig, "Excel数据导入"); } }, 100); } // 在工具栏字体图标span下面添加文字span作为描述 // original:对应字体图标元素span // desc:描述文字,若不传递取原span的title, // width:需要修改的原始字体图标span的宽度 function addDescSpan(original, desc, width) { if (!original) { return; } if (!desc) { desc = original.title } if (!width) { width = 22 * desc.length + "px"; writeback.elem_btnRemoveRow.value} original.style.width = "width; 删除行"var span = document.createElement("SPAN"); writeback.elem_btnRemoveRow.style.width = "60px"; } |
宏示例资源:回写按钮添加文字.xml
相关SQL:writeback.sqlspan.innerText = desc;
span.style = "font-size: 12px; vertical-align: top;display: inline-block; margin-left: 3px;"
original.appendChild(span);
}
|