我正在使用PowerBuilder classic 12.5 我在插入,编辑,创建和打印报告时遇到了困难。
我有一个数据窗口,dw_NewEmployee
带有数据对象,d_newrecord
可以更新。
itemchanged
事件
单行文本...我无法弄清楚如何实现验证规则。
请举个例子来验证员工ID_Number
答案 0 :(得分:4)
我看到您对数据窗口的使用感到困惑。
让我们试着总结一下:
d_newrecord
(比如它是一个网格),比如select id_number, name from employee
。id_number
和name
)这些对象既可以显示现有数据,也可以接收用户输入以编辑数据和插入新记录。dw_newemployee
,其中将绘制数据窗口的内容,您将d_newrecord
设置为 dataobject open()
事件中:dw_newemployee.SetTransObject(sqlca)
dw_newemployee.Retreive() //if you are using some retreival arguments, don't forget to include them here
如果要在表格中插入新数据(例如使用“添加”窗口按钮),请在按钮的clicked()
事件中调用dw_newemployee.InsertRow(0)
以插入结尾。< / p>
在修改一个单元格后将触发ItemChanged()
事件,您将获得行,项目(dwobject)和新数据。通过选择事件的返回值,您可以接受或拒绝新数据。
以下是itemchanged()
事件中字段验证的示例:
long ll_return_code = 0
string ls_column
ls_column = lower(dwo.name)
choose case ls_column
case "id_number"
if long(data) = 42 THEN
messagebox("validation error", "You cannot use 42 for the ID")
ll_return_code = 1 //reject and stay in cell
end if
case "name"
if data = "foobar" then
messagebox("validation error", "Do not use dummy value...")
ll_return_code = 2 //reject but allow to go elsewhere
end if
end choose
return ll_return_code