找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 09:30  /   查看:3824  /  回复:22
1金币
在使用newStyle.borderRight = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin); 时候 列头右侧感觉有1px对不齐的情况 image.png168645323.png

感觉是全局的css影响了,但是不知道是哪里设置的css,因为除表头外是正常显示的

最佳答案

查看完整内容

这个 html中包含了你发给我的json,以及执行的这一句代码,你可以参考一下,然后检查你那边的项目

22 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 09:30:36
来自 21#

这个 html中包含了你发给我的json,以及执行的这一句代码,你可以参考一下,然后检查你那边的项目


index.html (25.4 KB, 下载次数: 121)
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 11:39:30
2#
本帖最后由 Richard.Ma 于 2022-11-1 11:42 编辑

看你这边的截图效果,应该是给前两行设置了白色边框导致,这样这个情况是正常的,白色边框会覆盖gridline
你可以看一下那边的代码设置

如果前两行仅设置了背景色的情况下,前两行应该全部都是纯色没有白色边框的,此时girdline 被背景色覆盖
image.png192724608.png



如果前两行不做任何背景色和边框设置,gridline不被覆盖,看起来边框就能和gridline对上了
image.png417172545.png

回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 13:46:41
3#
本帖最后由 wutao@digiwin 于 2022-11-1 14:14 编辑
Richard.Ma 发表于 2022-11-1 11:39
看你这边的截图效果,应该是给前两行设置了白色边框导致,这样这个情况是正常的,白色边框会覆盖gridline
...
我使用这样的方法设置默认的网格线,也没用办法解决 表头左右边距是默认灰色的情况

  sheet.setStyle(-1, -1, newHeaderStyle, GC.Spread.Sheets.SheetArea.colHeader);
            sheet.options.gridline = { showVerticalGridline: true, showHorizontalGridline: true };
            const defaultStyle = new GC.Spread.Sheets.Style()      
            const bs = new GC.Spread.Sheets.LineBorder('#f60',1)
            defaultStyle.borderLeft =  defaultStyle.borderTop = defaultStyle.borderRight =  defaultStyle.borderBottom = bs
            sheet.setDefaultStyle(defaultStyle)   

回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 13:47:10
4#
不仅限于表头的右侧,表格内容区域的左侧也是同样的情况
image.png392730712.png
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 14:37:14
5#
Richard.Ma 发表于 2022-11-1 11:39
看你这边的截图效果,应该是给前两行设置了白色边框导致,这样这个情况是正常的,白色边框会覆盖gridline
...

或者有什么办法可以修改默认的gridline颜色吗
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 16:13:08
6#
修改默认的gridline颜色解决不了你的问题,上面我给你的截图也说了,应该是由于前两行你设置了边框的原因,如果左右两边的都是灰色的,那么说明设置的是灰色的边框

你可以先描述一下或者给个截图说明你期望的显示效果,我帮你看看怎么实现
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 16:18:16
7#
Richard.Ma 发表于 2022-11-1 16:13
修改默认的gridline颜色解决不了你的问题,上面我给你的截图也说了,应该是由于前两行你设置了边框的原因, ...

image.png557025756.png 想要达成的效果如上
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 18:18:37
8#
本帖最后由 Richard.Ma 于 2022-11-1 18:22 编辑

恩,和我猜想的差不多,这个如果你是用设计器UI来设置的话,其实很容易,在你那边目前的基础上,把前两行整体选中,去掉外边框就行,
即在边框设置对话框中只设置内边框为白色
image.png628870849.png


通过代码的话,比较麻烦一些,代码没有办法直接设置区域的外边框,所以只能根据逻辑,
去掉第一行的上边框,第二行的下边框,第一列的左边框,最后一列的右边框
以右侧为例的代码
  1. sheet.getRange(0,8,2,1).borderRight(new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.empty))
复制代码



设置前
image.png134444884.png

设置后
image.png788785095.png

上下左右都设置后整体效果
image.png147859191.png
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-2 14:00:19
9#
Richard.Ma 发表于 2022-11-1 18:18
恩,和我猜想的差不多,这个如果你是用设计器UI来设置的话,其实很容易,在你那边目前的基础上,把前两行整 ...

我在设置了但是表头右侧的边框还是白色的,是哪里样式出现问题了吗 image.png948608703.png sheet.getRange(0,5,1,0).borderRight(new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.empty))
            sheet.getRange(0,5,1,0).borderLeft(new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.empty))
            sheet.getRange(0,5,1,0).borderTop(new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.empty))
            sheet.getRange(0,5,1,0).borderBottom(new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.empty))
            const newStyle = new GC.Spread.Sheets.Style();
            const newHeaderStyle = new GC.Spread.Sheets.Style();
            newStyle.borderLeft  = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin);
            newStyle.borderRight = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin);
            newStyle.borderTop = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin);
            newStyle.borderBottom  = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin);
            newHeaderStyle.backColor = '#6C63FF';
            newHeaderStyle.foreColor = '#ffffff';
            sheet.setStyle(-1, -1, newStyle);
            newHeaderStyle.borderBottom = new GC.Spread.Sheets.LineBorder("#fff", GC.Spread.Sheets.LineStyle.thin);
            newHeaderStyle.borderLeft  = new GC.Spread.Sheets.LineBorder("#fff", GC.Spread.Sheets.LineStyle.thin);
            newHeaderStyle.borderRight = new GC.Spread.Sheets.LineBorder("#fff", GC.Spread.Sheets.LineStyle.thin);
            newHeaderStyle.borderTop = new GC.Spread.Sheets.LineBorder("#fff", GC.Spread.Sheets.LineStyle.thin);
            sheet.setStyle(-1, -1, newHeaderStyle, GC.Spread.Sheets.SheetArea.colHeader);
         


回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部