PowerBuilder 数据窗口实例二(用户管理)
1. 创建一个数据窗口,命名为d_user_grid
2. 设置Rows菜单下update properties属性
工具栏中的table order设置列
3. 设计用户管理窗体,保存为w_user_manage
4. 在w_user_manage的open()事件中添加如下代码
dw_1.settransobject(sqlca)
dw_1.retrieve()
5. 在添加按钮clicked()事件中添加如下代码
//dw_1获得焦点
dw_1.setfocus()
//dw_1向后插入一行并将焦点滚动到该行
dw_1.scrolltorow(dw_1.insertrow(0))
6. 在删除按钮clicked()事件中添加如下代码
int DeleteOrNot
DeleteOrNot = messagebox("警告","是否删除该条数据?",Question!,YESNOCANCEL!)
if DeleteOrNot = 1 then
//删除当前行
deleterow(dw_1, dw_1.getrow())
end if
7. 在保存按钮clicked()事件中添加如下代码
if update(dw_1,true,false) = 1 then
dw_1.resetupdate()
commit;
messagebox("成功","保存数据成功")
else
rollback;
messagebox("警告","保存数据失败")
end if
8. 在退出按钮clicked()事件中添加如下代码
//未更新的数据条数
int Mcount
//是否更新
int UpdateOrNot
Mcount = dw_1.modifiedcount()
if Mcount = 0 then
close(w_user_manage)
elseif Mcount > 0 then
//是否更新:1表示更新,2表示不更新
UpdateOrNot = messagebox("保存修改","你修改了部分数据,是否保存?",Question!,YESNOCANCEL!)
if UpdateOrNot = 1 then
if update(dw_1,true,false) =1 then
dw_1.resetupdate()
commit;
else
rollback;
messagebox("错误","保存数据失败")
close(w_user_manage)
end if
elseif UpdateOrNot = 2 then
rollback;
close(w_user_manage)
end if
end if