找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2022-10-28 17:15  /   查看:2299  /  回复:12
1金币
本帖最后由 wutao@digiwin 于 2022-10-28 17:17 编辑

image.png382972106.png 左侧是选中时的效果,已经尝试点击单元格触发样式修改,但是不是我想要的选中时状态下的表头单元格颜色修改 sheet.bind(GC.Spread.Sheets.Events.CellClick, function (e, info) {
        if(info.sheetArea==GC.Spread.Sheets.SheetArea.colHeader){
                sheet.getCell(0,info.col,GC.Spread.Sheets.SheetArea.colHeader).backColor("red");
        }
});

12 个回复

正序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-1 10:30:19
13#
嗯,我看到你发了一个新帖,在新帖子下面继续讨论吧,这个帖子就先关闭了
https://gcdn.grapecity.com.cn/fo ... read&tid=156506
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-11-1 09:25:18
12#
Richard.Ma 发表于 2022-10-31 18:29
你问题还是这个问题吗,还是另一个问题。我看好像和前面的内容没有什么关系

是的 属于另一个问题了 也是关于表头的
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-31 18:29:59
11#
你问题还是这个问题吗,还是另一个问题。我看好像和前面的内容没有什么关系
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 18:16:30
10#
Richard.Ma 发表于 2022-10-31 16:56
可以通过.gc-selection这部分修改背景色

这个是可以修改的,在使用newStyle.borderRight = new GC.Spread.Sheets.LineBorder("#6C63FF", GC.Spread.Sheets.LineStyle.thin); 时候 列头右侧感觉有1px对不齐的情况
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 18:15:13
9#
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.borderLeft  = new GC.Spread.Sheets.LineBorder("#ffffff", GC.Spread.Sheets.LineStyle.thin);
            newHeaderStyle.borderTop = new GC.Spread.Sheets.LineBorder("#ffffff", GC.Spread.Sheets.LineStyle.thin);
            sheet.setStyle(-1, -1, newHeaderStyle, GC.Spread.Sheets.SheetArea.colHeader);在这里设置列头背景色的时候 右侧的列头边距有1px感觉对不齐 image.png368439940.png
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-31 16:56:32
8#
可以通过.gc-selection这部分修改背景色

  1. .gc-selection {
  2.   background-color: rgba(200, 20, 20, 0.2);
  3.   border-color: #217346;
  4.   color: rgba(240, 240, 240, 0.7);
  5. }
复制代码
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 16:00:35
7#
Richard.Ma 发表于 2022-10-28 17:15
如果你是想要设置列头在“选中”状态时的颜色,而不是修改列头本身的颜色的话,

可以通过修改主题样式文 ...

选中时,灰色的这部分样式是修改哪个class标签呢?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-31 10:16:45
6#
嗯,那帖子就关闭了,有其他问题欢迎发新帖咨询
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 10:10:05
5#
Richard.Ma 发表于 2022-10-31 10:03
没有办法,spreadjs目前没有提供js来动态修改主题样式。只能整体切换主题,这个不是你需要的

另外,因为 ...

好的,明白了
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-31 10:03:08
4#
没有办法,spreadjs目前没有提供js来动态修改主题样式。只能整体切换主题,这个不是你需要的

另外,因为spreadjs是通过canvas绘制的,也没有办法在加载后通过js来修改具体的style。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部