找回密码
 立即注册

QQ登录

只需一步,快速开始

chenf1980

论坛元老

41

主题

147

帖子

9349

积分

论坛元老

积分
9349

活字格认证

chenf1980
论坛元老   /  发表于:2011-4-15 10:06  /   查看:6443  /  回复:4
MultiRow里面有10行数据,并且设置了AlternatingRowsDefaultCellStyle的BackColor = 223, 239, 255,现在按下某个按钮,我想让第2行数据,也就是颜色显示淡蓝的那行,改变背景色,变成0,0,128,用rows(1).backcolor = color.fromargb(0,0,128),发现没有改变,请问,我应该如何改变值?

4 个回复

倒序浏览
robert
金牌服务用户   /  发表于:2011-4-15 10:31:00
沙发
改变Row的BackColor属性实际上是改变了Row上没有被Cell盖住的那一部分的属性。如果Row上的所有区域都被Cell覆盖,并且Cell的BackColor不为Transparent则不起作用。

改变Row上的DefaultCellStyle.BackColor可以影响Row上所有的Cell
  1. GcMultiRow1.Rows(1).DefaultCellStyle.BackColor = Color.FromArgb(0, 0, 128)
复制代码
回复 使用道具 举报
chenf1980
论坛元老   /  发表于:2011-4-15 14:20:00
板凳
光标聚焦在某个单元格(C1)内,原始的背景颜色是默认的(0,0,128)如果这个单元格是可读的话,那么鼠标再点击这个单元格,通过
TestMultirow1.DefaultCellStyle.SelectionBackColor = Color.White
TestMultirow1.DefaultCellStyle.SelectionForeColor = Color.Black
是可以改变这个单元格背景颜色的。
但是如果单元格不是只读的,并且edit模式是EditOnEnter的话,发现尽管走了程序,但是背景颜色还是没有被改变
回复 使用道具 举报
chenf1980
论坛元老   /  发表于:2011-4-15 14:33:00
地板
MultiRow真是好奇怪,可编辑跟不可编辑,所需要控制的还不一样
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-4-15 15:14:00
5#
恩,这是我们的产品策略,在编辑状态下默认不使用SelectionBackColor。如果你希望编辑状态也使用SelectionBackColor的话需要写额外的逻辑来处理。
  1.     Private Sub GcMultiRow1_EditingControlShowing(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
  2.         e.CellStyle.BackColor = Color.White
  3.         e.CellStyle.ForeColor = Color.Black
  4.     End Sub
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部