pb9中如何设置数据窗口中以某一列的值作为条件相邻两条不同记录的字体颜色?

时间:2021-02-23 09:54:20
数据窗口返回结果如下
姓名        金额            收据号
马希圣;男;; 100.0000 075119732
马希圣;男;; 55.0000         075119731
黄仁华;男;; 100.0000 075119739
高淑玲;男;;  8.0500         075119741
卢海林;男;; 120.0000 075119743
李世华;男;; 66.7000         075119745
实现结果:
姓名为'马希圣;男;;'的两条记录显示黑色字体,'黄仁华;男;;'一条记录显示蓝色字体,'高淑玲;男;;'一条记录显示黑色字体,依次交替显示。且姓名字段的值不可能用choose case 方法解决。
我想到的解决方法:
数据窗口,选择所有的列(Column)。在Properties窗口中翻到Font标签页text colore 输入公式 if(getitemstring(currentrow()," 姓名")<>getitemstring((currentrow() + 1)," 姓名"),rgb(255,254,249) , rgb(247,247,239)) 该方法没有成功。
请高手指点!!!

12 个解决方案

#1


这种非规律性的dw自身好像没什么办法了!
只能通过代码实现了!

#2


1、要以姓名作为排序
2、在detail带区color属性中用表达式if(姓名=姓名[1],rgb(255,254,249) , rgb(247,247,239))

#3


to: iwl()
因为论坛中不能加入图片所以我只能用文字说明。
行号 姓名 金额 收据号
1     马希圣;男;;100.0000075119732 
2     马希圣;男;; 55.0000 075119731
3     黄仁华;男;;100.0000075119739 
4     黄仁华;男;; 8.0500 075119741
5     黄仁华;男;;120.0000075119743
6     李世华;男;; 66.7000 075119745
 //第一行和第2行应该显示同一种颜色,可是两行显示不同的颜色
//第3第4第5行记录相同(应该显示同一颜色),第5行却显示为不同的颜色,第3第4显示同一颜色
麻烦您,帮助改进。

#4


还请pb高手给出实现方法,如果用modify请不吝赐教给出完整的modify语句。

#5


关注!

#6


我不太清楚你说的情况,如果是按我说的方法作的话,肯定是没有问题的,我已经测试过

#7


不好意思误会你的意思 我会在想别的方法

#8


非规律的东西,不好控制,可以自己弄张表来记录这个人设定成什么颜色

#9


搞定了,具体的做法

1、增加一个计算列,名称gropuno,表达式cumulativeSum(  if( ywy [-1] = ywy [0],0,1)  for all )

2、在detail带区color属性中用表达式if(Mod(gropuno,2)=1,rgb(255,254,249) , rgb(247,247,239))

#10


搞定了,具体的做法

1、增加一个计算列,名称gropuno,表达式cumulativeSum(  if( 姓名 [-1] = 姓名[0],0,1)  for all )

2、在detail带区color属性中用表达式if(Mod(gropuno,2)=1,rgb(255,254,249) , rgb(247,247,239))

#11


#12


To: iwl()
非常感谢你提供的方法。使用该方法得到的结果正确。
我曾试着将该方法写成一个函数但未成功,我会努力。再次表示感谢。

#1


这种非规律性的dw自身好像没什么办法了!
只能通过代码实现了!

#2


1、要以姓名作为排序
2、在detail带区color属性中用表达式if(姓名=姓名[1],rgb(255,254,249) , rgb(247,247,239))

#3


to: iwl()
因为论坛中不能加入图片所以我只能用文字说明。
行号 姓名 金额 收据号
1     马希圣;男;;100.0000075119732 
2     马希圣;男;; 55.0000 075119731
3     黄仁华;男;;100.0000075119739 
4     黄仁华;男;; 8.0500 075119741
5     黄仁华;男;;120.0000075119743
6     李世华;男;; 66.7000 075119745
 //第一行和第2行应该显示同一种颜色,可是两行显示不同的颜色
//第3第4第5行记录相同(应该显示同一颜色),第5行却显示为不同的颜色,第3第4显示同一颜色
麻烦您,帮助改进。

#4


还请pb高手给出实现方法,如果用modify请不吝赐教给出完整的modify语句。

#5


关注!

#6


我不太清楚你说的情况,如果是按我说的方法作的话,肯定是没有问题的,我已经测试过

#7


不好意思误会你的意思 我会在想别的方法

#8


非规律的东西,不好控制,可以自己弄张表来记录这个人设定成什么颜色

#9


搞定了,具体的做法

1、增加一个计算列,名称gropuno,表达式cumulativeSum(  if( ywy [-1] = ywy [0],0,1)  for all )

2、在detail带区color属性中用表达式if(Mod(gropuno,2)=1,rgb(255,254,249) , rgb(247,247,239))

#10


搞定了,具体的做法

1、增加一个计算列,名称gropuno,表达式cumulativeSum(  if( 姓名 [-1] = 姓名[0],0,1)  for all )

2、在detail带区color属性中用表达式if(Mod(gropuno,2)=1,rgb(255,254,249) , rgb(247,247,239))

#11


#12


To: iwl()
非常感谢你提供的方法。使用该方法得到的结果正确。
我曾试着将该方法写成一个函数但未成功,我会努力。再次表示感谢。