注册 登录
编程论坛 VFP论坛

求教,如何使行的背景色随数字的变化交替变化

fanjinyu9108 发布于 2021-10-08 17:05, 1004 次点击
只有本站会员才能查看附件,请 登录
如题
7 回复
#2
sdta2021-10-08 20:44
下面的示例对楼主是否有帮助
程序代码:
* 用颜色显示不同分数的行
PUBLIC oForm
oForm = NEWOBJECT("Form1")
oForm.Show
Return

DEFINE CLASS form1 AS form
    DoCreate = .T.
    AutoCenter = .T.
    Caption = "Form1"
    Name = "form1"
    ADD OBJECT grid1 AS grid WITH ;
        Height = 228, ;
        Left = 12, ;
        Top = 12, ;
        Width = 348, ;
        Name = "Grid1"
    PROCEDURE Init
        * 生成测试临时数据表
        Create Cursor Cj (编号 C(4),总分 N(3))
        =Rand(-1)
        For lnI=1 To 50
            Insert Into Cj Values (Padl(lnI,4,"0"),Rand()*100)
        EndFor
        * 结束
        Go Top
        With ThisForm.Grid1
            .RecordSource="Cj"
            .SetAll('DynamicBackColor','iif(总分>=90,Rgb(255,0,0),Iif(Between(总分,60,89),Rgb(0,128,0),Rgb(255,0,255)))','Column')
        EndWith
    ENDPROC
ENDDEFINE
#3
fanjinyu91082021-10-08 21:45
我想到一个办法了,其实数字代表分组,我可以在表中增加1列,新列的序号笫一组是1,第二组是2,如此下去,奇数组一个颜色,偶数组一个颜色,问题是怎么根据奇偶数产生颜色呢
#4
sdta2021-10-08 21:58
iif(列1%2 =0, 颜色1,颜色2 )
#5
fanjinyu91082021-10-09 07:14
sdta师傅,我是这样的: thisform.grid1.SetAll('DynamicBackColor','iif(mod(组字段,2)=0,Rgb(0,128,0),Rgb(255,0,255))','Column'),非常感谢,问题解决了

[此贴子已经被作者于2021-10-9 07:16编辑过]

#6
wang32102021-10-09 17:31
回复 4楼 sdta
我想到一个办法了,其实数字代表分组,我可以在表中增加1列,新列的序号笫一组是1,第二组是2,如此下去,奇数组一个颜色,偶数组一个颜色,问题是怎么根据奇偶数产生颜色呢
#7
laowan0012021-10-09 17:36
回复 6楼 wang3210
5楼不是已经给出解决方案了吗?
#8
huasinstamps2021-10-16 19:04
回复 3楼 fanjinyu9108
新增的列第一组是1,第二组是2,第三组为什么不能仍是1,第四组再是2。。。这样后面的程序可以更简化一点点
1