找回密码
 立即注册

QQ登录

只需一步,快速开始

danlan

银牌会员

4

主题

27

帖子

2824

积分

银牌会员

积分
2824

活字格认证

最新发帖
danlan
银牌会员   /  发表于:2012-4-6 10:38  /   查看:11090  /  回复:12
我用VB设置了如下代码  
在leaverow事件里
if row<>newrow then
If Cancel = False Then
    VSP.Col = -1
    VSP.Row = Row
    VSP.BackColor = 16777215
    VSP.Row = NewRow
    VSP.BackColor = &amp;H80000013
End If
end if
我希望突出显示焦点所在的行
现在效果是出来了,但是当焦点行中有合并的单元格时,合并的单元格只有一半变色,而且焦点离开后,变色部分不会变回来,但是二次选中该行再离开,又可以变回白色,这是为什么?
变一半无所谓,但是我希望离开时合并的单元格的颜色可以立刻变回来。

顺便问一下,数字型单元格的value和text可以不同吗?能不能实现text为空时,value可以赋上0值?

12 个回复

倒序浏览
danlan
银牌会员   /  发表于:2012-4-6 10:43:00
沙发
合并单元格是通过设置.ColMerge = MergeAlways属性实现的
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-4-6 12:21:00
板凳

回复 2# danlan 的帖子

danlan 你好,
1.不好意思,我没有重现你的问题,下面是我的代码,请对比:

  1. Private Sub Form_Load()
  2.     fpSpread1.OperationMode = OperationModeRow
  3.     fpSpread1.Col = 1
  4.     fpSpread1.ColMerge = MergeAlways
  5. End Sub

  6. Private Sub fpSpread1_LeaveRow(ByVal Row As Long, ByVal RowWasLast As Boolean, ByVal RowChanged As Boolean, ByVal AllCellsHaveData As Boolean, ByVal NewRow As Long, ByVal NewRowIsLast As Long, Cancel As Boolean)
  7.     If Row <> NewRow Then
  8.         If Cancel = False Then
  9.             fpSpread1.Col = -1
  10.             fpSpread1.Row = Row
  11.             fpSpread1.BackColor = RGB(255, 255, 255)
  12.             fpSpread1.Row = NewRow
  13.             fpSpread1.BackColor = RGB(255, 10, 111)
  14.             
  15.         End If
  16.     End If
  17. End Sub
复制代码
如果仍然有疑问,请发 Demo 论坛调试,感谢你的配合~:-D

2.不好意思, Case 2 无法实现。
回复 使用道具 举报
danlan
银牌会员   /  发表于:2012-4-6 13:06:00
地板
呃,这个问题不是每一次都出现的,有的时候效果很正常,有的时候就会留下修改过的颜色,
或许你不断点击有合并的行再点击没有合并的行交替,可以重现这个问题
一般当点击带有合并了得单元格的时候
比如第一行第一列和第二行第一列的单元格合并了,点击第一行某单元格,那么合并的单元格和第一行整个变色,离开这个行时,这个单元格只有上半部分和整行变色,下半部分还是选中时的颜色,当点击第二行时合并的单元格会出现有时下半部分变色,有时候不变色,当变色时,焦点离开这行,有时候变回来,有时候保持
这个状况比较诡异,所以我想问问是不是有解决的办法
我认为这个可能是合并单元格时,因为最上面的单元格覆盖了下面的单元格导致的,但是就是不知道为什么有时候覆盖,有时候还能显现覆盖下面的颜色
至于demo,我整个程序对颜色的修改就只有发上来的这部分,没有其他的了
或者版主可以给我意见还有什么设置可能会导致这种问题,我自己去查一查……
-----------------------------------------------------------------
我好像不能上传附件,所以没办法把出错后的样图发上来
因为我合并的只有第一列,所以也可以选择除第一列以外的整行有焦点时变色,请问有没有什么方便的设置方法,还是只能一个单元格一个单元格的设置过去?
回复 使用道具 举报
danlan
银牌会员   /  发表于:2012-4-6 13:45:00
5#

试试看能不能贴上来
----------------------------
成功了~
就是让那残留的一小块蓝颜色消失掉啊~他为什么会留在那OTL
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-4-6 19:46:00
6#

回复 5# danlan 的帖子

感谢楼主把解决方案反馈给我们~
回复 使用道具 举报
danlan
银牌会员   /  发表于:2012-4-7 08:10:00
7#
NO!亲,我这不是解决方案啊,我只是提出了这个问题可能出在哪里而已,他没有解决!
我想问难道只要我设置自动合并他就一定要出这个问题吗?为什么?
这应该算你们软件的问题?我这边程序的问题?VB兼容性的问题?还是其他的问题啊?囧
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-4-9 16:12:00
8#
danlan 你好,
下面是我的测试 Demo ,楼主可以和有问题的工程进行对比。
demo.rar (735 Bytes, 下载次数: 725)
回复 使用道具 举报
danlan
银牌会员   /  发表于:2012-4-10 08:17:00
9#
呃,我用的是7.0版本,版主的DEMO加载不能,而且他提示我说没有FORM3
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-4-10 18:29:00
10#

回复 9# danlan 的帖子

danlan 你好,
问题正在处理中,明天回复。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部