本帖最后由 Richard.Huang 于 2023-10-16 15:42 编辑
您好,您的需求是将奇偶行自定义为不同的样式,但又不希望使用循环的方式来实现,希望能有非循环的实现方式是吗?
对于您的这个问题,如果您使用的是表格(table)的话,我们可以通过firstRowsStripStyle和secondRowStrip两个方法来满足该需求的,但如果是对于整个工作表(sheet)来满足您的需求,则可以通过条件格式来实现
1. 表格(table)的奇偶行自定义样式可以通过firstRowStripStyle 和 secondRowStripStyle 两个方法来实现,对应的API为:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Tables.TableTheme#firstrowstripstyle
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Tables.TableTheme#secondrowstripstyle
以下是代码示例:
- var tableStyle = new GC.Spread.Sheets.Tables.TableTheme();
- var tStyleInfo1 = new GC.Spread.Sheets.Tables.TableStyle();
- tStyleInfo1.backColor = "red";
- var tStyleInfo2 = new GC.Spread.Sheets.Tables.TableStyle();
- tStyleInfo2.backColor = "white";
- tableStyle.firstRowStripStyle(tStyleInfo1);
- tableStyle.secondRowStripStyle(tStyleInfo2);
- var table = sheet.tables.add("Custom", 0, 0, 10, 5, tableStyle);
- table.filterButtonVisible(false);// 隐藏筛选按钮
复制代码 以下为实现效果:
2. 工作表(sheet)的奇偶行的斑马纹样式可以通过ISODD公式判断行的奇偶性以及通过addFormulaRule方法来添加条件规则从而满足您的斑马纹需求,对应的API为:
https://demo.grapecity.com.cn/sp ... mats#addformularule
以下是实现斑马纹的代码示例:
- var style1 = new GC.Spread.Sheets.Style();// 奇数行样式
- style1.backColor = "red";
- var style2 = new GC.Spread.Sheets.Style();// 偶数行样式
- style2.backColor = "blue";
- var ranges = [new GC.Spread.Sheets.Range(0, 0, sheet.getRowCount(), sheet.getColumnCount())];// 范围
- sheet.conditionalFormats.addFormulaRule("=ISODD(ROW(A1))", style1, ranges);// 奇数行
- sheet.conditionalFormats.addFormulaRule("=ISEVEN(ROW(A1))", style2, ranges);// 偶数行
复制代码 以下为实现效果:
附件分别为以上两种方案对应的Demo,您可以下载到本地进行测试,并根据自身项目需求选择其中一种来满足您的需求:
|
|