Fufu 发表于 2024-11-29 12:01:29

setBorder和borderBottom使用有什么优先级或者限制

问题1:setBorder的option设置all之后,无法再使用borderBottom配置样式了吗?
sheet.getRange(1, -1, 1, -1, GC.Spread.Sheets.SheetArea.colHeader).setBorder(new GC.Spread.Sheets.LineBorder('green', GC.Spread.Sheets.LineStyle.thin,), { all: true });

sheet.getRange(1, -1, 1, -1, GC.Spread.Sheets.SheetArea.colHeader).borderBottom(new GC.Spread.Sheets.LineBorder('yellow', GC.Spread.Sheets.LineStyle.thin));      // 不生效

问题2:单行设置border之后,使用getRange(-1, -1, -1, -1)无法清除border
sheet.getRange(8, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).borderBottom(new GC.Spread.Sheets.LineBorder('green', GC.Spread.Sheets.LineStyle.thin));

sheet.getRange(-1, -1, -1, -1, GC.Spread.Sheets.SheetArea.viewport).borderBottom(new GC.Spread.Sheets.LineBorder('blue', GC.Spread.Sheets.LineStyle.empty));      // 不生效

Wilson.Zhang 发表于 2024-11-29 17:34:31

您好!根据您提供的代码片段,理解您的问题相关场景如下:

问题一:对列头四边设置了绿色细线条边框后又需要令底边框切换为黄色细线条。
那么,参考如下如下代码:
sheet.getRange(1, -1, 1, -1, GC.Spread.Sheets.SheetArea.colHeader).setBorder(new GC.Spread.Sheets.LineBorder('green', GC.Spread.Sheets.LineStyle.thin,), { all: true });
//单独设置底边框
sheet.getRange(1, -1, 1, -1, GC.Spread.Sheets.SheetArea.colHeader).setBorder(new GC.Spread.Sheets.LineBorder('yellow', GC.Spread.Sheets.LineStyle.thin), {
    bottom: true
});
问题二:对某行设置了底边框样式后再清除,那么,参考如下代码:
sheet.getRange(8, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).borderBottom(new GC.Spread.Sheets.LineBorder('green', GC.Spread.Sheets.LineStyle.thin));
//清除底边框
sheet.getRange(8, -1, 1, -1, GC.Spread.Sheets.SheetArea.viewport).borderBottom(new GC.Spread.Sheets.LineBorder('blue', GC.Spread.Sheets.LineStyle.empty));
建议您在使用无论setBorder还是具体方向的borderXXX时,保持使用相同的API和作用区域。
页: [1]
查看完整版本: setBorder和borderBottom使用有什么优先级或者限制