找回密码
 立即注册

QQ登录

只需一步,快速开始

lc3w

初级会员

6

主题

27

帖子

334

积分

初级会员

积分
334
lc3w
初级会员   /  发表于:2018-12-25 11:44  /   查看:2887  /  回复:3
C1FlexGrid的SelecttionMode设置为ListBox,多行被选中时这些行的色彩显示为蓝色,当我通过代码改变选中行的显示色彩时发现没有任何变化,代码为row.StyleNew.BackColor = System.Drawing.Color.Red;,还是显示为蓝色。请问应如何处理?

3 个回复

倒序浏览
JeffryLI
葡萄城公司职员   /  发表于:2018-12-25 14:19:15
沙发
您好,如果是为了改变多选的行的的背景的时候,应该是修改Style的Highlight的属性,还有一种方式需要重新绘制颜色,拿到行索引之后来改变选中行的背景颜色。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
lc3w
初级会员   /  发表于:2018-12-25 14:51:47
板凳
本帖最后由 lc3w 于 2018-12-25 14:53 编辑
JeffryLI 发表于 2018-12-25 14:19
您好,如果是为了改变多选的行的的背景的时候,应该是修改Style的Highlight的属性,还有一种方式需要重新绘 ...

请问如何重绘?我现在已经拿到行对象了,代码如下:        void SetGridRowColor(ref C1.Win.C1FlexGrid.Row curRow)
        {

               curRow.StyleNew.BackColor = System.Drawing.Color.BlueViolet;
        }

通过这个方式设置后,对于之前被选中显示为蓝色的行,没有任何色彩改变,除非点一下鼠标,使那行不选中,那么通过这个代码设置的色彩才能显示出来。
回复 使用道具 举报
JeffryLI
葡萄城公司职员   /  发表于:2018-12-25 16:32:18
地板
关于重绘请参考这个博客https://www.grapecity.com.cn/blogs/flexgrid-problemcolletion-1,有一个场景,参考,对于样式设置他是有优先级的,Highlight的优先级高于普通Normal的样式,你可以在设计器里面style集合器里面看到。
请点击评分,对我5分评价,谢谢!

葡萄城控件服务团队
官方网站: https://www.grapecity.com.cn/developer
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部