929:快来救我!

railway 2000-04-06 10:21:00
929,你好:
又是小弟,这厢有礼了!
我想用程序修改DATAWINDOW的属性,脚本如何写?
例如:将DATAWINDOW中DETAIL区内的某字段属性EDIT页的USE CODE TABLE
复选框 选上,再将DISPLAY VALUE 和 DATA VALUE 设上值;
用代码如何实现?
不吝赐教!
...全文
169 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
railway 2000-04-10
  • 打赏
  • 举报
回复
929:你好!
我等你的回复等的好辛苦!
希望你以"治病救人"为目的,不要只顾赚"分"!
929 2000-04-06
  • 打赏
  • 举报
回复
今天恐怕不行了,我得想想。写完给你。
railway 2000-04-06
  • 打赏
  • 举报
回复
929:
能否写几行脚本呢?
我想这点分数对你是微不足道的,但你的代码对我会帮助很大。
先把分数送上,请笑纳!
929 2000-04-06
  • 打赏
  • 举报
回复
我想如果想在程序对很多字段做这种工作会很麻烦。不知你是否是想做个通用的设置程序。
我有一点想法:
因为字段多,可能名字或列号在编程时无法确定,所以只能用MODIFY语法来完成修改。方法就是根据循环中的每个字段得到字段名或列号,然后用字符串函数设置它的属性。而且在设置还要判断EDIT。STYLE属性,因为EDITMASK编辑风格不可用代码表。
在用SETVALUE时,可用列号代替字段名,不过设置代码表的实际值时一定要和字段数据类型一致,否则会出错。

我在程序中用的OBJECT,是PB所提供的直接访问语法。你查数据窗口属性时,自然有例子进行说明。我就是用的PB的帮助,没发现问题。
railway 2000-04-06
  • 打赏
  • 举报
回复
929:
感谢你的解答,但还有一事相求。
如果,某表的字段很多,怎么实现?(我写的循环语句总是出错)
另外,我查PB的帮助,DATAWINDOW的PROPERTY中,OBJECT属性无链接,是什么
原因呢?,繁赐教!
929 2000-04-06
  • 打赏
  • 举报
回复
一个程序在窗口的OPEN中写的。
int ret
SQLCA.DBMS = "ODBC"
SQLCA.Database = "Powersoft Demo DB V6"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='DSN=Powersoft Demo DB V6;UID=dba;PWD=sql'"
connect;
dw_1.settransobject(sqlca)
dw_1.object.bonus_emp_id.edit.codetable="yes"
ret=dw_1.setvalue("bonus_emp_id",4,"xyz~t1")
if ret<>1 then
messagebox("","1")
end if


dw_1.setvalue("bonus_emp_id",2,"efg~t2")
dw_1.setvalue("bonus_emp_id",3,"hij~t3")
929 2000-04-06
  • 打赏
  • 举报
回复
设置一个数据窗口中某字段的选项值,可用这个函数来完成。
dwcontrol.SetValue ( column, index, value )
其中关键是VALUE值,它是以~T分隔的字符串,在~T前的为DISPLAY VALUE,在后的为DATA VALUE。

dw_employee.SetValue("emp_state", 3, "Texas~tTX")

修改一个字段的EDIT属性,可用MODITY或直接语法完成。显示代码表用CODETABLE属性来做。
dw_1.Object.emp_name.Edit.CodeTable="yes",为此字段有代码表。一会儿写个程序试试。

1,072

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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