请教专家,PB中DATAWINDOW的一个问题

pbwolf 2000-04-02 09:33:00
在datawindow中如何做到在一条记录中,修改了其中一字段的值, 而另外一字段的值会根据某些关系自动改变。请大家不要保留倾心传授,谢谢!
...全文
162 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tmx 2000-07-25
  • 打赏
  • 举报
回复
充分利用DataWindow的ItemChanged事件,编写事件脚本:
1.判断产生变化的列是否基准列;
2.是基准列则编写相应脚本去改变其它某些列的值。
929 2000-04-03
  • 打赏
  • 举报
回复
我想:
1、如果只是简单的数据之间的关系,比如说金额等于单价*数量,那么可用在数据窗口中加计算列来完成。然后,在UPDATE之前,把计算列的内容一次性的赋到表中的实际列中。
比如说:有金额字段,我们在做的时候可把它加到数据窗口上,但是隐藏,而代之以一个计算列,用数量*单价来完成。在更新时,把这个计算列的值一次性的赋给金额字段中,可用SETITEM或直接访问语法完成。
2、如果是大型数据库支持TRIGGER,可在TRIGGER中完成计算。
3、如果关系太复杂,我想只能如9Thoughts所说,在事件中写程序了。
9Thoughts 2000-04-03
  • 打赏
  • 举报
回复
处理itemchanged事件,例如:
decimal tax
if dwo.name = 'taxrate' then
tax = getitemnumber(row,"taxrate")*getitemnumber(row,"salary")
end if
setitem(row,'tax',tax)
dwo类型为dwobject,为当前出发该事件的对象
row为dwo所在行
boby_v 2000-04-02
  • 打赏
  • 举报
回复
你用的是什么数据库,若是大型数据库,就写触发器吧!
若是在前台处理,可以先获取列名,再根据列名和值计算出结果
setitem给另外一列即可.

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧