找回密码
 立即注册

QQ登录

只需一步,快速开始

5228

注册会员

5

主题

19

帖子

50

积分

注册会员

积分
50
最新发帖
5228
注册会员   /  发表于:2023-10-16 08:47  /   查看:1856  /  回复:5
2金币

最佳答案

查看完整内容

您好,您的需求是将奇偶行自定义为不同的样式,但又不希望使用循环的方式来实现,希望能有非循环的实现方式是吗? 对于您的这个问题,如果您使用的是表格(table)的话,我们可以通过firstRowsStripStyle和secondRowStrip两个方法来满足该需求的,但如果是对于整个工作表(sheet)来满足您的需求,则可以通过条件格式来实现 1. 表格(table)的奇偶行自定义样式可以通过firstRowStripStyle 和 secondRowStripStyle 两个方法来实现 ...

5 个回复

倒序浏览
最佳答案
最佳答案
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-16 08:47:42
来自 2#
本帖最后由 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
以下是代码示例:
  1. var tableStyle = new GC.Spread.Sheets.Tables.TableTheme();
  2. var tStyleInfo1 = new GC.Spread.Sheets.Tables.TableStyle();
  3. tStyleInfo1.backColor = "red";
  4. var tStyleInfo2 = new GC.Spread.Sheets.Tables.TableStyle();
  5. tStyleInfo2.backColor = "white";
  6. tableStyle.firstRowStripStyle(tStyleInfo1);
  7. tableStyle.secondRowStripStyle(tStyleInfo2);
  8. var table = sheet.tables.add("Custom", 0, 0, 10, 5, tableStyle);
  9. table.filterButtonVisible(false);// 隐藏筛选按钮
复制代码
以下为实现效果:
image.png887760925.png

2. 工作表(sheet)的奇偶行的斑马纹样式可以通过ISODD公式判断行的奇偶性以及通过addFormulaRule方法来添加条件规则从而满足您的斑马纹需求,对应的API为:
https://demo.grapecity.com.cn/sp ... mats#addformularule
以下是实现斑马纹的代码示例:
  1. var style1 = new GC.Spread.Sheets.Style();// 奇数行样式
  2. style1.backColor = "red";
  3. var style2 = new GC.Spread.Sheets.Style();// 偶数行样式
  4. style2.backColor = "blue";
  5. var ranges = [new GC.Spread.Sheets.Range(0, 0, sheet.getRowCount(), sheet.getColumnCount())];// 范围

  6. sheet.conditionalFormats.addFormulaRule("=ISODD(ROW(A1))", style1, ranges);// 奇数行
  7. sheet.conditionalFormats.addFormulaRule("=ISEVEN(ROW(A1))", style2, ranges);// 偶数行
复制代码
以下为实现效果:
image.png102842711.png

附件分别为以上两种方案对应的Demo,您可以下载到本地进行测试,并根据自身项目需求选择其中一种来满足您的需求:

利用条件格式实现斑马纹.html

4.24 KB, 下载次数: 65

表格实现斑马纹样式.html

3.93 KB, 下载次数: 67

评分

参与人数 1满意度 +5 收起 理由
5228 + 5

查看全部评分

回复 使用道具 举报
5228
注册会员   /  发表于:2023-10-16 12:24:44
3#
Richard.Huang 发表于 2023-10-16 08:47
您好,您的需求是奇偶行的样式不同是吗,但是又不希望使用循环来设计,希望能有非循环的实现方式?

对于 ...

这样给表确实可以了,不过不知道哪里给加了筛选了
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-16 13:36:59
4#
本帖最后由 Richard.Huang 于 2023-10-16 13:43 编辑
5228 发表于 2023-10-16 12:24
这样给表确实可以了,不过不知道哪里给加了筛选了

您好,您现在遇到的问题是,通过上述我给予的方法实现了您原本的需求后又遇到了筛选按钮的出现是吗?你可以通过filterButtonVisible方法来隐藏筛选按钮,这是对应的API:https://demo.grapecity.com.cn/sp ... filterbuttonvisible

您可以参考以下示例来隐藏所有筛选按钮:
var table = activeSheet.tables.add("table1", 1, 1, 10, 5, GC.Spread.Sheets.Tables.TableTheme.medium2);
table.filterButtonVisible(false);

评分

参与人数 1满意度 +5 收起 理由
5228 + 5

查看全部评分

回复 使用道具 举报
5228
注册会员   /  发表于:2023-10-16 14:49:54
5#
nice,这个帖子可以结啦
回复 使用道具 举报
Richard.HuangSpreadJS 开发认证
超级版主   /  发表于:2023-10-16 14:55:12
6#
5228 发表于 2023-10-16 14:49
nice,这个帖子可以结啦

好的,那么本贴就先结贴了,后续有其他问题欢迎随时开新贴提问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部