Events 如何对itemchanged事件和数据窗口进行编码
我正在使用PowerBuilder classic 12.5 我在插入、编辑、创建和打印报告方面遇到困难 我有一个数据窗口,Events 如何对itemchanged事件和数据窗口进行编码,events,powerbuilder,datawindow,Events,Powerbuilder,Datawindow,我正在使用PowerBuilder classic 12.5 我在插入、编辑、创建和打印报告方面遇到困难 我有一个数据窗口,dw_NewEmployee,带有数据对象,d_newrecord,可以更新 我应该使用列通过列插入记录,还是 在窗口对象上创建单行文本 itemchanged事件是否用于dataobject或dataobject上的列和行 在单行文本上。。。我很难弄清楚如何实现验证规则。 请给我一个示例来验证员工ID\u编号 我看到您似乎对datawindow的使用感到困惑 让我们试着总
dw_NewEmployee
,带有数据对象,d_newrecord
,可以更新
itemchanged
事件是否用于dataobject或dataobject上的列和行
在单行文本上。。。我很难弄清楚如何实现验证规则。
请给我一个示例来验证员工ID\u编号
我看到您似乎对datawindow的使用感到困惑 让我们试着总结一下:
d\u newrecord
(假设它是一个网格),例如select id\u number,name from employee
id\u编号
和名称
)这些对象既可以显示现有数据,也可以接收用户输入以编辑数据和插入新记录dw_newemployee
放置在将绘制datawindow内容的位置,然后将d_newrecord
设置为其dataobjectopen()
事件中:dw_newemployee.SetTransObject(sqlca)
dw_newemployee.Retreive()//如果您使用的是一些retreival参数,请不要忘记在此处包含它们
当您希望在表中插入新数据(例如,使用窗口按钮“add”)时,在调用按钮的clicked()
事件中,dw\u newemployee.InsertRow(0)
在末尾插入
修改一个单元格后将触发ItemChanged()
事件,您将获得行、项(dwobject)和新数据。通过选择事件的返回值,可以接受或拒绝新数据
以下是itemchanged()
事件中字段验证的示例:
long ll\u return\u code=0
字符串ls\u列
ls_column=lower(dwo.name)
选择case ls\u列
案例“身份证号码”
如果长(数据)=42,则
messagebox(“验证错误”,“您不能使用42作为ID”)
ll\u return\u code=1//拒绝并留在单元格中
如果结束
案例“名称”
如果data=“foobar”,则
messagebox(“验证错误”,“不使用伪值…”)
ll_return_code=2//拒绝,但允许转到其他位置
如果结束
结束选择
返回ll_返回代码
我发现您似乎对datawindow的使用感到困惑
让我们试着总结一下:
d\u newrecord
(假设它是一个网格),例如select id\u number,name from employee
id\u编号
和名称
)这些对象既可以显示现有数据,也可以接收用户输入以编辑数据和插入新记录dw_newemployee
放置在将绘制datawindow内容的位置,然后将d_newrecord
设置为其dataobjectopen()
事件中:dw_newemployee.SetTransObject(sqlca)
dw_newemployee.Retreive()//如果您使用的是一些retreival参数,请不要忘记在此处包含它们
当您希望在表中插入新数据(例如,使用窗口按钮“add”)时,在调用按钮的clicked()
事件中,dw\u newemployee.InsertRow(0)
在末尾插入
修改一个单元格后将触发ItemChanged()
事件,您将获得行、项(dwobject)和新数据。通过选择事件的返回值,可以接受或拒绝新数据
以下是itemchanged()
事件中字段验证的示例:
long ll\u return\u code=0
字符串ls\u列
ls_column=lower(dwo.name)
选择case ls\u列
案例“身份证号码”
如果长(数据)=42,则
messagebox(“验证错误”,“您不能使用42作为ID”)
ll\u return\u code=1//拒绝并留在单元格中
如果结束
案例“名称”
如果data=“foobar”,则
messagebox(“验证错误”,“不使用伪值…”)
ll_return_code=2//拒绝,但允许转到其他位置
如果结束
结束选择
返回ll_返回代码