搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 如何將表格中的奇數行和偶數行用不同的底色顯示
标题:
如何將表格中的奇數行和偶數行用不同的底色顯示
只看楼主
GEORGECHIN
等 级:
论坛游民
帖 子:43
专家分:16
注 册:2009-8-25
结帖率:
62.5%
楼主
已结贴
√
问题点数:20 回复次数:25
如何將表格中的奇數行和偶數行用不同的底色顯示
設計要求:表格是隨時刷新的,但不管表格如何刷新,記錄如何增減,如何排序,都要使表格中的奇偶行用兩種不同的底色顯示.即交替顯示.現在的問題是:
1.用RECN()%2=0來控制.當記錄按鍵值排序時,就會有多個記錄號為奇或偶數的排在一起,而不是按
單偶
分開顯示的.
2.用記錄中的順序號(字段)控制.篩選后也會同樣出現第一個問題.
我認為應該是要用
表格的行
來控制
,可是表格的
111.rar
(2.97 KB)
總行要用什麼函數或命令來統計呢.
搜索更多相关主题的帖子:
底色
表格
2009-09-03 08:34
Tiger5392
等 级:
贵宾
威 望:
88
帖 子:2775
专家分:2237
注 册:2006-5-17
第
2
楼
得分:3
若增加一个字段存储逻辑记录号,是不是可以达到你的要求呢
感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2009-09-03 12:07
GEORGECHIN
等 级:
论坛游民
帖 子:43
专家分:16
注 册:2009-8-25
第
3
楼
得分:0
還是一樣啊,如果將兩個T中間的F過濾掉不就是有兩個T出現了嗎,所以用字段不行的,因為表格里的內容是隨機刷新的所以不能用字段來控制.
2009-09-03 15:01
sywzs
来 自:辽宁
等 级:
贵宾
威 望:
15
帖 子:508
专家分:1725
注 册:2009-5-13
第
4
楼
得分:3
筛选后重新给这个逻辑字段赋值。
2009-09-03 15:10
sd_tysd
等 级:
职业侠客
威 望:
1
帖 子:81
专家分:319
注 册:2009-7-23
第
5
楼
得分:14
如果在不排序和筛选状态下,在表格的方法程序的 init 添加下列代码
thisform.grid1.setall("dynamicbackcolor",'IIF(MOD(RECNO(),2)=0.,RGB(222,0,255),RGB(150,250,200))')
在排序和筛选状态下,在表格的方法程序的 AfterRowColChange 添加下列代码
thisform.grid1.setall("dynamicbackcolor",'IIF(MOD(thisform.grid1.activerow,2)=0,RGB(222,0,255),RGB(150,250,200))')
[
本帖最后由 sd_tysd 于 2009-9-4 10:09 编辑
]
2009-09-03 18:44
茵梦湖
等 级:
贵宾
威 望:
31
帖 子:545
专家分:2180
注 册:2009-4-25
第
6
楼
得分:0
同意2楼和4楼, 用逻辑顺序号控制~
2009-09-03 23:04
GEORGECHIN
等 级:
论坛游民
帖 子:43
专家分:16
注 册:2009-8-25
第
7
楼
得分:0
2 4樓的方法可行.但是如果數據量大的話這個處理應該很慢哦.還有就是如果數據源是視圖的話,還沒有辦法增加字段,除非原表中就有這樣的字段.有沒有可以計算表格中活動行總數的函數,如果有,就很方便了.
2009-09-04 00:05
sd_tysd
等 级:
职业侠客
威 望:
1
帖 子:81
专家分:319
注 册:2009-7-23
第
8
楼
得分:0
如果在不排序和筛选状态下,在表格的方法程序的 init 添加下列代码
thisform.grid1.setall("dynamicbackcolor",'IIF(MOD(RECNO(),2)=0.,RGB(222,0,255),RGB(150,250,200))')
在运行时 进行排序或筛选状态下,在表格的方法程序的 AfterRowColChange 添加下列代码
thisform.grid1.setall("dynamicbackcolor",'IIF(MOD(thisform.grid1.activerow,2)=0.,RGB(222,0,255),RGB(150,250,200))')
RGB(222,0,255),RGB(150,250,200) 是交替颜色,第2种方法颜色值按表格行变换颜色,不随记录数据变化。
[
本帖最后由 sd_tysd 于 2009-9-4 10:17 编辑
]
2009-09-04 10:13
GEORGECHIN
等 级:
论坛游民
帖 子:43
专家分:16
注 册:2009-8-25
第
9
楼
得分:0
樓上的這位仁兄,ACTIVEROW是指光標所在的行吧,如果這樣,是不是有焦點才會計算呢?如果焦點不到的話還是不會刷新吧!篩選前用ERCN()也是不行的,因為記錄號的排序和索引的排序是沒有規律可尋的.隨時都有可能雙/單記錄號的兩記錄排在一起.
[
本帖最后由 GEORGECHIN 于 2009-9-4 12:23 编辑
]
2009-09-04 12:09
sywzs
来 自:辽宁
等 级:
贵宾
威 望:
15
帖 子:508
专家分:1725
注 册:2009-5-13
第
10
楼
得分:0
给表增加一个逻辑字段,比如叫 YS 吧,缺点是数据量大时慢了一点。
GO TOP
TT=.T.
SCAN
REPLACE YS WITH TT
TT=!TT
ENDSCAN
thisform.grid1.setall("dynamicbackcolor",'IIF(YS,RGB(250,250,200),RGB(255,255,255))')
GO TOP
thisform.grid1.Refresh
2009-09-04 13:38
26
1/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-284609-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 2.259939 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved