电子表格回写,插入新行,若点击不是第一列单元格,则插入的新行不是完整的一行,如:
使用宏代码之后,点击任一单元格插入新行,都是完整的一行
注:该宏实现的任一单元格插入新行的效果,只对通过工具栏的 添加行()按钮插入的方式有效。
设置方法
宏类型
宏类型 | 对象 | 事件 |
ClientSide | spreadsheetReport | onRenderReport |
宏代码
function main(spreadsheetReport) { //debugger; var spreadsheetReportWriteBack = spreadsheetReport.spreadsheetReportWriteBack; spreadsheetReportWriteBack.removeListener(spreadsheetReportWriteBack.elem_btnAppendRow, "click", spreadsheetReportWriteBack.doInsertRowClick); spreadsheetReportWriteBack.addListener(spreadsheetReportWriteBack.elem_btnAppendRow, "click", function() { var currentEditingPosition = this.currentEditingPosition; var idx = currentEditingPosition.indexOf(':') + 1; this.currentEditingPosition = currentEditingPosition.substring(0, idx) + 1; //这个1是表示第二列的意思,从0开始计数 //若报表中第一个字段放置在C列,则应该+2,若第一个字段放置在D列,则应该+3 this.doInsertRowClick(); }, spreadsheetReportWriteBack); spreadsheetReportWriteBack.doInsertRowClick_old = spreadsheetReportWriteBack.doInsertRowClick; spreadsheetReportWriteBack.doInsertRowClick = function(e) { var currentEditingPosition = this.currentEditingPosition; var idx = currentEditingPosition.indexOf(':') + 1; this.currentEditingPosition = currentEditingPosition.substring(0, idx) + 1; //这个1是表示第二列的意思,从0开始计数 //若报表中第一个字段放置在C列,则应该+2,若第一个字段放置在D列,则应该+3 spreadsheetReportWriteBack.doInsertRowClick_old(e); } }; |