| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 737 人关注过本帖, 1 人收藏
标题:请老师能不能帮我解决这个问题
只看楼主 加入收藏
gzzytxy
Rank: 2
等 级:论坛游民
帖 子:77
专家分:16
注 册:2010-1-26
结帖率:69.7%
收藏(1)
已结贴  问题点数:10 回复次数:12 
请老师能不能帮我解决这个问题
图片附件: 游客没有浏览图片的权限,请 登录注册

图1
图片附件: 游客没有浏览图片的权限,请 登录注册

图2
说明:图1 是用EXCEL的截图 图2 是VFP9中的GRID的截图 现在我想在VFP9中的GRID中显示EXCEL中的哪种背景颜色 有字的就显示 没有的不显示
求代码 谢谢 我的QQ29636150
搜索更多相关主题的帖子: EXCEL 
2012-12-13 14:41
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:2 
设置整列或整行的背景色容易解决,设置单个单元格的背景色有点难度。记得好象在梅子论坛中有这方面的帖子,建议楼主先搜索一下。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-12-13 17:13
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9849
专家分:27241
注 册:2012-2-5
收藏
得分:2 
在表格中用SETALL方法试下

坚守VFP最后的阵地
2012-12-13 18:34
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
是的 设置单个单元格的背景色有点难度。
2012-12-13 18:49
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
选中单元格的颜色设置
THIS.SETALL("selectedbackcolor",RGB(0,0,0),"textbox")
2012-12-13 18:52
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:2 
此事易尔,在表单的Init事件中加入如下代码即可:

FOR I=1 TO FCOUNT("C1")  &&假设表文件名为“C1.DBF”
   字段名=FIELD(I)  &&按列提取出字段
   WITH This.Grid1
      .Columns(I).DynamicBackColor="IIF(!EMPTY(&字段名),RGB(128,255,128),RGB(255,255,255))"  &&只要字段不为空就对背景着色
   ENDWITH
NEXT


图片附件: 游客没有浏览图片的权限,请 登录注册
收到的鲜花
  • 月沐庭轩2012-12-13 20:02 送鲜花  5朵   附言:我很赞同
2012-12-13 19:56
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:2 
6楼的方法值得欣赏和学习!因为,如果把整表的字段全部放在表格上,这样做是可行的。很好用。
但有时候会出现特殊情况:比如:grd 列数量小于表的列数,并且排序次序并不和表列完全一致时,
可能不会出现预期效果,或出错等。因此,在你的基础上,做了个小扩展,扩大了一点通用范围:
不再依赖原表,只与 grd 结构有关.比如:
 
with thisform.grid1
     FOR I=1 TO .columncount
     cmm=".column"+alltrim(str(i))+".controlsource"
     ct=&cmm
     .Columns(I).DynamicBackColor="IIF(!empty(&ct),RGB(128,255,128),RGB(255,255,255))"
     next
 endwith (仅供参考,不当之处敬请指正)

2012-12-13 23:42
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用qingfameng在2012-12-13 23:42:10的发言:

6楼的方法值得欣赏和学习!因为,如果把整表的字段全部放在表格上,这样做是可行的。很好用。
但有时候会出现特殊情况:比如:grd 列数量小于表的列数,并且排序次序并不和表列完全一致时,
可能不会出现预期效果,或出错等。因此,在你的基础上,做了个小扩展,扩大了一点通用范围:
不再依赖原表,只与 grd 结构有关.比如:
 
with thisform.grid1
     FOR I=1 TO .columncount
     cmm=".column"+alltrim(str(i))+".controlsource"
     ct=&cmm
     .Columns(I).DynamicBackColor="IIF(!empty(&ct),RGB(128,255,128),RGB(255,255,255))"
     next
 endwith (仅供参考,不当之处敬请指正)

我正想补充呢,被你占先了。
2012-12-14 07:59
gzzytxy
Rank: 2
等 级:论坛游民
帖 子:77
专家分:16
注 册:2010-1-26
收藏
得分:0 
7 8楼 我在表单INIT事件中用怎么是一闪而过
2012-12-14 09:39
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
收藏
得分:0 
以下是引用gzzytxy在2012-12-14 09:39:14的发言:

7 8楼 我在表单INIT事件中用怎么是一闪而过
你是不是把这个表单单独编成EXE,脱离FoxPro在用啦?如果在VFP环境中的话,绝对不可能一闪而过的。
2012-12-14 10:39
快速回复:请老师能不能帮我解决这个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041220 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved