你好, 我这边的这个场景比较特殊,当切仅当 其中的一个workbook 向上滚动到一半时, 这个时候我点击当前的workbook 的 单元格, 此时window 的滚动条就会自动向上滚动,将当前的workbook 滚动到屏幕中的可是区域,而我点击单元格的事件执行顺序是落后于 window 的滚动时间的, 查了文档实在是找不到原因
我的单元格切换事件的代码如下:
- cellSelectionChanged(draft, spread: GC.Spread.Sheets.Workbook, state, povForm, dataLinkage) {
- // selectionColumn:当前选中单元格列下标
- // selectionRow:当前选中单元格的行下标
- const { selectionColumn, selectionRow } = getSelectCellInfo(spread);
- // 获取当前活跃的sheet
- const sheet = spread.getActiveSheet();
- // 单元格位置信息
- const cellLocation =
- sheet.getValue(0, selectionColumn, GC.Spread.Sheets.SheetArea.colHeader) +
- (selectionRow + 1);
- // 单元格值
- const value = sheet.getValue(selectionRow, selectionColumn);
- // 如果单元格值为对象,即是选中了动态表收缩父级单元格,获取值需要取result字段
- const filterCellValue =
- Object.prototype.toString.call(value) === '[object Object]' ? value.result : value;
- // 单元格内容
- const cellValue = sheet.getFormula(selectionRow, selectionColumn)
- ? `=${sheet.getFormula(selectionRow, selectionColumn)}`
- : filterCellValue;
- draft.selectedCell = {
- locationInfo: cellLocation,
- value: cellValue,
- };
- },
复制代码 |