本帖最后由 Joestar.Xu 于 2024-6-3 14:04 编辑
很多同学在开发中会需要高亮编辑过的单元格,对于这个需求,可以直接使用单元格状态(https://demo.grapecity.com.cn/sp ... introduction/purejs)来实现:
除了Dirty,还有很多其他的方式可以使用,这里主要介绍编辑过的单元格,即Dirty。
- window.onload = function () {
- let designerConfig = JSON.parse(
- JSON.stringify(GC.Spread.Sheets.Designer.DefaultConfig)
- );
- let designer = new GC.Spread.Sheets.Designer.Designer(
- "gc-designer-container",
- designerConfig
- );
- let spread = designer.getWorkbook();
- let sheet = spread.getActiveSheet();
- document.querySelector("#button1").addEventListener("click", function () {
- var style = new GC.Spread.Sheets.Style();
- style.backColor = "yellow";
- sheet.cellStates.add(
- new GC.Spread.Sheets.Range(
- 0,
- 0,
- sheet.getRowCount(),
- sheet.getColumnCount()
- ),
- GC.Spread.Sheets.CellStatesType.dirty,
- style
- );
- });
- document.querySelector("#button2").addEventListener("click", function () {
- sheet.cellStates.clear(
- new GC.Spread.Sheets.Range(
- 0,
- 0,
- sheet.getRowCount(),
- sheet.getColumnCount()
- ),
- GC.Spread.Sheets.SheetArea.viewport
- );
- sheet.repaint();
- });
- };
复制代码
以上代码中提供了两个按钮,用于控制显示和隐藏高亮效果,另外需要注意的是,在取消后需要使用repaint接口重绘,否则不会立刻生效。
除了Dirty以外,如果想要实现其他的一些效果,比如选中、编辑等也都可以通过上面代码的方式来实现。
|
|