社区
DataWindow
帖子详情
datawindow中的明细区上能不能设置颜色区分
blackcorbie
2009-09-24 05:51:36
在datawindow中的明细区上能不能设置颜色区分:
比如 :一列为工程编号,那么根据工程编号排序,共10行数据,共三个工程编号,前3行为同一工程编号,那么这三行显示红色,另外4行为另一工程编号,这4行显示蓝色,其他3行也为不同的工程编号,但是显示颜色为红色,就是隔颜色行显示。
...全文
158
12
打赏
收藏
datawindow中的明细区上能不能设置颜色区分
在datawindow中的明细区上能不能设置颜色区分: 比如 :一列为工程编号,那么根据工程编号排序,共10行数据,共三个工程编号,前3行为同一工程编号,那么这三行显示红色,另外4行为另一工程编号,这4行显示蓝色,其他3行也为不同的工程编号,但是显示颜色为红色,就是隔颜色行显示。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
永生天地
2009-09-29
打赏
举报
回复
终于知道lz想问的问题了
WorldMobile
2009-09-27
打赏
举报
回复
[Quote=引用 7 楼 blackcorbie 的回复:]
我是想每行都这样隔行显示,而不只是工程编号这列归类隔行显示。
[/Quote]
你的意思是不是每列都这么显示?
你可以选择所有的列,然后在列的颜色表达式里写
if(mod(cumulativeSum( if( 工程编号 = 工程编号[-1],0,1) ), 2) = 1,rgb(255, 0, 0), rgb(0, 0, 255))
WorldMobile
2009-09-27
打赏
举报
回复
[Quote=引用 7 楼 blackcorbie 的回复:]
我是想每行都这样隔行显示,而不只是工程编号这列归类隔行显示。
[/Quote]
假设这个工程编号列名为工程编号,你可以在工程编号的颜色表达式里可以这么写
if(mod(cumulativeSum( if( 工程编号 = 工程编号[-1],0,1) ), 2) = 1,rgb(255, 0, 0), rgb(0, 0, 255))
假设其它列名为工程名称,你可以
if(mod(cumulativeSum( if( 工程名称 = 工程名称[-1],0,1) ), 2) = 1,rgb(255, 0, 0), rgb(0, 0, 255))
sjshuang
2009-09-26
打赏
举报
回复
for循环不就可以了吗
dawugui
2009-09-25
打赏
举报
回复
好东西,帮顶.
blackcorbie
2009-09-25
打赏
举报
回复
[Quote=引用 2 楼 lzp_lrp 的回复:]
1.需要再定义一个列,用来存颜色值,然后在程序中对颜色值进行赋值
再在列上的颜色上定义表达式为那个颜色列即可
2.在datawindow中的明细区上能不能设置颜色区分:
比如 :一列为工程编号,那么根据工程编号排序,共10行数据,共三个工程编号,前3行为同一工程编号,那么这三行显示红色,另外4行为另一工程编号,这4行显示蓝色,其他3行也为不同的工程编号,但是显示颜色为红色,就是隔颜色行显示。
回复:如果你只是隔行显示可以直接写一个表达式出来
假设这个工程编号列名为工程编号,你可以在工程编号的颜色表达式里可以这么写
if(mod(cumulativeSum( if( 工程编号 = 工程编号[-1],0,1) ), 2) = 1,rgb(255, 0, 0), rgb(0, 0, 255))
[/Quote]
我是想每行都这样隔行显示,而不只是工程编号这列归类隔行显示。
永生天地
2009-09-25
打赏
举报
回复
cumulativeSum这个函数还真能派上用场,我还从来没用过
yiguanjun
2009-09-24
打赏
举报
回复
三颗星就是不一样
WorldMobile
2009-09-24
打赏
举报
回复
第二种方法经过测试,没有问题,强烈建议用第二种方法来实现
WorldMobile
2009-09-24
打赏
举报
回复
1.需要再定义一个列,用来存颜色值,然后在程序中对颜色值进行赋值
再在列上的颜色上定义表达式为那个颜色列即可
2.在datawindow中的明细区上能不能设置颜色区分:
比如 :一列为工程编号,那么根据工程编号排序,共10行数据,共三个工程编号,前3行为同一工程编号,那么这三行显示红色,另外4行为另一工程编号,这4行显示蓝色,其他3行也为不同的工程编号,但是显示颜色为红色,就是隔颜色行显示。
回复:如果你只是隔行显示可以直接写一个表达式出来
假设这个工程编号列名为工程编号,你可以在工程编号的颜色表达式里可以这么写
if(mod(cumulativeSum( if( 工程编号 = 工程编号[-1],0,1) ), 2) = 1,rgb(255, 0, 0), rgb(0, 0, 255))
wag_enu
2009-09-24
打赏
举报
回复
不知道在DW中怎么写表达式实现此功能,不过还是有个笨办法可以试一下:
1,在DW中定义一伪列如 "cp" ,用于确定颜色.
2,选中DW中的 明细区的每列,改写其背景表达式成: if(cp =1,红色, 蓝色)
3,在引用的DW控件的retrieveend 事件中写如下代码:
if rowcount < 1 then return
long i
object.cp[1] = 1
for i = 2 to rowcount
if object.工程编号[i] = object.工程编号[i - 1] then
object.cp[i] = object.cp[i - 1]
else
if object.cp[i - 1] = 1 then
object.cp[i] = 0
else
object.cp[i] = 1
end if
end if
next
data
window
常用技巧
使
Data
Window
列只能追加
不能
修改 如何使
Data
Window
中
的数据只能追加新记录而
不能
修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Protect 属性
设置
为: If( IsRowNew(), 0, 1) ) 在...
pb
data
window
的用法
如何使
Data
Window
中
的数据只能追加新记录而
不能
修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一列的 Protect 属性
设置
为: If( IsRowNew(), 0, 1) ) 在 PowerScript
中
可以动态修改...
PowerBuilder
Data
Window
38个开发技巧
1 使
Data
Window
列只能追加
不能
修改如何使
Data
Window
中
的数据只能追加新记录而
不能
修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:将每一列的 Protect 属性
设置
为:If( IsRowNew(), 0, 1) )在 ...
PB的
Data
Window
的38个技巧
如何使
Data
Window
中
的数据只能追加新记录而
不能
修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一列的 Protect 属性
设置
为: If( IsRowNew(), 0, 1) ) 在 PowerScript
中
可以动态修改 ...
PB的
Data
Window
的38个技巧(转)
如何使
Data
Window
中
的数据只能追加新记录而
不能
修改,利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下: 将每一列的 Protect 属性
设置
为: If( IsRowNew(), 0, 1) ) 在 PowerScript
中
可以动态修改 ...
DataWindow
609
社区成员
20,469
社区内容
发帖
与我相关
我的任务
DataWindow
PowerBuilder DataWindow
复制链接
扫一扫
分享
社区描述
PowerBuilder DataWindow
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章