回 帖 发 新 帖 刷新版面

主题:根据条件动态改变表格中某行记录的前景色

版本:VFP6.0

form1中有一表格grid1,当thisform.optiongroup3.value=1时,数据源为表<库存>,
                     当thisform.optiongroup3.value=2时,数据源为表<临时表1>, 

thisform.optiongroup3.value=1时,表格内容为:

药品名称   失效期
阿莫西林   2008-05-30
先锋       2009-05-30
.....      ..........


如何设置使   失效期-date()<30 时
整行记录的前景色以红色显示

回复列表 (共4个回复)

沙发

sele 表别名
Thisform.Grid1.SetAll("DynamicBackColor","IIF(失效期-date() < 30, RGB(192,255,38), RGB(255,255,255))", "Column")

板凳


sele 表别名
Thisform.Grid1.SetAll("DynamicForeColor","IIF(失效期-date() < 30, RGB(192,255,38), RGB(255,255,255))", "Column")

3 楼

以上是全部符合条件的纪录都显示为红色!
不知道是不是你要得结果,

要是就显示:
“根据条件动态改变表格中某行记录的前景色”

要标注一行纪录,
那就要用 loca 先找到纪录,

再添加条件 recn()=当前纪录号

4 楼

在表格的refresh事件中加入
This.SetAll("DynamicForecolor","Iif(失效期<=DATE()+30,RGB(255,000,0),RGB(0,0,0))", "Column") 
问题解决


谢谢老师

我来回复

您尚未登录,请登录后再回复。点此登录或注册