- // 设置修改脏数据背景色
- // const dirtyStyle = new GC.Spread.Sheets.Style();
- // dirtyStyle.backColor = '#FFD698';
- // for (const row of res.rtnData.editableRows) {
- // const editRange = new GC.Spread.Sheets.Range(row, 0, 1, columns.length);
- // sheet.cellStates.add(
- // editRange,
- // GC.Spread.Sheets.CellStatesType.dirty,
- // dirtyStyle,
- // );
- // }
- const dirtyStyle = new GC.Spread.Sheets.Style();
- dirtyStyle.backColor = '#FFD698';
- for (const row of sheet.getDirtyRows()) {
- console.log('sheet.getDirtyRows()', sheet.getDirtyRows());
- const editRange = new GC.Spread.Sheets.Range(
- row.row,
- 0,
- 1,
- sheet.getColumnCount(),
- );
- sheet.cellStates.add(
- editRange,
- GC.Spread.Sheets.CellStatesType.dirty,
- dirtyStyle,
- );
- }
- // 清除脏状态样式
- sheet.clearPendingChanges({
- clearType: 1, // 1 表示清除所有更改状态
- row: -1, // -1 表示所有行
- rowCount: -1, // -1 表示所有行
- col: -1, // -1 表示所有列
- colCount: -1, // -1 表示所有列
- });
- spreadInstance.refresh();
复制代码
按照你得循环绑定脏数据const row of sheet.getDirtyRows(),首页页面的脏数据标记功能都无法实现了,注释的代码是我原来的逻辑,可以标记脏数据,clearPendingChanges spreadInstance.refresh();之后上面我描述的问题仍然存在,再次请求数据原来标记过的行的脏数据状态仍然存在 |