背景:
用户在SpreadJS中使用表格(Table)时,可以选择套用表格样式,实现背景色交替出现的效果,如下所示:
但是存在一些业务情况,希望这种交替样式能够出现在整个工作表(Sheet)当中。这时。我们可以选择将整个工作表变成一个表格(Table)。但不少客户工作表中会存在其它内容,无法将整个工作表变成一个表格(Table)。此时,我们可以选择以下两种方案来实现交替北京色的需求。
1. 使用条件格式
使用条件格式去判断行索引的奇偶性,满足条件时,添加另外一种样式,其余行使用默认样式,核心代码如下:
- let sheet = spread.getSheet(0)
- let style1 = new GC.Spread.Sheets.Style()
- style1.backColor = '#e5efee'
- let ranges = [new GC.Spread.Sheets.Range(0,0,sheet.getRowCount(),sheet.getColumnCount())]
- // 方法1: 使用条件格式,删除或新增行时,样式随之变化,会对性能有一定影响。
- sheet.conditionalFormats.addFormulaRule('=ISEVEN(ROW(A1))',style1,ranges)
复制代码 2. 遍历行索引,设置行背景。
- sheet = spread.getSheet(1)
- // 方法2:根据行索引去添加背景色,这种在新增行时,需要动态去调整样式,新增行列会有影响
- function changeRowColor(){
- for(let i=0; i<sheet.getRowCount();i++){
- if(i % 2 != 0){
- sheet.getCell(i,-1).setStyle(style1)
- }
- }
- }
- changeRowColor()
复制代码 两种方式的优缺点都已经写在代码中,详细示例可以参考demo:工作表中添加交替背景色
|
|