导航
  • 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

如何设置数窗某行某列的属性?

denxiaom 2006-01-21 10:49:56
如题。或者说如何在数窗的属性中如何表示行?谢谢
...全文
195 点赞 收藏 12
写回复
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
denxiaom 2006-02-14
好久没能上网。
最后我还是用了一个辅助列
dw_1.modify("Ticket"+string(j - 3)+".Color='255~tif(mid(status,"+string(j - 3)+",1)=~~'1~~',65280,if(mid(status,"+string(j - 3)+",1)=~~'2~~',255,16711680 ))'")
dw_1.modify("Ticket"+string(j - 3)+".protect='0~tif(mid(status,"+string(j - 3)+",1)=~~'1~~',1,if(mid(status,"+string(j - 3)+",1)=~~'2~~',1,0))'")
回复
WorldMobile 2006-01-27
denxiaom(蛤蟆老大)

我写的可不是针对当前行的,如果是当前行的话,需要用currentrow()而不是getrow()

你可以试一试,肯定可以的
回复
TianChong 2006-01-24
只能通过楼上的方法 ,或在数据窗口中使用判断式,例如先中某列,再点击一个颜色设置,然后输入:
if(getrow()=6,red,if(getrow()=5,green,if(getrow=4,yellow,black))) 当然,你可以使用rgb(xxx,xxx,xxx)进行更精确的颜色定义,这就可以达到你的目的了,上例的意思是:当你所指定的列(注意每列都可单独设置,如果要所有列都设置成一样,请全选这些列,这里假设是第4列),是第6行时显示为红色(看你改的是背景还是文字颜色了,当然也可是是其它参数),如果不是第6行,而是第5行,则显示为绿色,如果也不是第5行,而是第4行则显示为黄色,否则就显示为黑色了.就是这样用,你也可以改为其它参数的,一样的道理.
回复
msgtogcra 2006-01-23
一般可以这样绕:
给数据窗口定义一个伪列,比如 myColor,然后对应的颜色属性表达式中引用该伪列 myColor;通过脚本修改该伪列的值 dw_1.object.myColor[row] = 根据条件设定的值
回复
denxiaom 2006-01-23
回lzp_lrp(lzp) :
你的写法只能控制当前行,如果当前行变了表达式就无效了,而当前行只有一个,所以无法控制整个数窗。
我的需求是这样的:一个外部数据源的DW,它的某些单元格因某些条件(条件不是由该数窗的列产生),需要保护或变颜色。我可以用游标得到条件,再用循环来判断DW的每一个单元阁是否需要保护,但写不出MODIFY的表达式。:(
回复
wscft 2006-01-23
接分!
回复
jimmyxc 2006-01-23
就不插嘴了,呵呵,接分
回复
bbdx2523 2006-01-22
只有列的属性,没有行的属性
但要对某一行的属性进行改变时,需要选中这一行,然后对当前行的列属性进行更改,使用modify函数,如要对某一新行的protect属性进行改变,你需要先判断当前行是否是新行,如果是,则使用modify函数对protect进行修改...
具体例子:
如何使DataWindow中的数据只能追加新记录而不能修改??
利用 Column 的 Protect 属性可以很方便的做到这一点,方法如下:
将每一列的 Protect 属性设置为:
If( IsRowNew(), 0, 1) )
在 PowerScript 中可以动态修改 Protect 属性:
dw_1.Modify("column_name_here.Protect='1~tIf(IsRowNew(),0,1)'")
这样,DataWindow 中只有新追加的记录可修改,而其他记录是只读的。

希望对你有所启发...
回复
ppact 2006-01-22
...up
回复
YewPu 2006-01-22
楼上两位同志说得都挺有道理.
回复
WorldMobile 2006-01-22
问:如何设置数窗某行某列的属性?
答:假设设置数窗第五行的dept_cod列的颜色属性你可以这么写

dw_1.modify("dept_cod.color='0~tif(getrow()=5,rgb(255,0,0), rgb(0,0,0))'")

即可
回复
msgtogcra 2006-01-21
不可能!只有针对要解决的具体问题想办法绕过这个不足。
回复
发动态
发帖子
PowerBuilder
创建于2007-09-28

804

社区成员

PowerBuilder 相关问题讨论
申请成为版主
社区公告
暂无公告