找回密码
 立即注册

QQ登录

只需一步,快速开始

wutao@digiwin
金牌服务用户   /  发表于:2022-10-28 17:15  /   查看:2142  /  回复: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");
        }
});

最佳答案

查看完整内容

如果你是想要设置列头在“选中”状态时的颜色,而不是修改列头本身的颜色的话, 可以通过修改主题样式文件中的对应项, 比如你用的是gc.spread.sheets.excel2013white.15.0.2.css,那么可以修改其中的gc-columnHeader-selected样式 最后效果如下,需要注意的是,这个也是选中列后,鼠标移开列头后的效果,鼠标在列头时,会应用上图的hover效果,这个你也可以修改的 效果 另外。下次发帖记得还是发到spreadjs板 ...

12 个回复

倒序浏览
最佳答案
最佳答案
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-10-28 17:15:06
来自 2#
本帖最后由 Richard.Ma 于 2022-11-2 09:39 编辑

如果你是想要设置列头在“选中”状态时的颜色,而不是修改列头本身的颜色的话,

可以通过修改主题样式文件中的对应项,
比如你用的是gc.spread.sheets.excel2013white.15.0.2.css,那么可以修改其中的gc-columnHeader-selected样式

image.png645094909.png

最后效果如下,需要注意的是,这个也是选中列后,鼠标移开列头后的效果,鼠标在列头时,会应用上图的hover效果,这个你也可以修改的
效果
image.png447626647.png


另外。下次发帖记得还是发到spreadjs板块





回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 09:42:51
3#
Richard.Ma 发表于 2022-10-28 18:29
如果你是想要设置列头在“选中”状态时的颜色,而不是修改列头本身的颜色的话,

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

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

另外,因为spreadjs是通过canvas绘制的,也没有办法在加载后通过js来修改具体的style。
回复 使用道具 举报
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:16:45
6#
嗯,那帖子就关闭了,有其他问题欢迎发新帖咨询
回复 使用道具 举报
wutao@digiwin
金牌服务用户   /  发表于:2022-10-31 16:00:35
7#
Richard.Ma 发表于 2022-10-28 17:15
如果你是想要设置列头在“选中”状态时的颜色,而不是修改列头本身的颜色的话,

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

选中时,灰色的这部分样式是修改哪个class标签呢?
回复 使用道具 举报
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 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
回复 使用道具 举报
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对不齐的情况
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部