PB9核心之——数据窗口对象的使用

转载: 原文作者: fhthkm

原文链接

实现
我们首先先看下具体的实现效果,在界面上我们点击添加,可以自动添加一行,我们只要手动输入即可,同样删除的话,选择某行直接删除即可。

PB9核心之——数据窗口对象的使用_第1张图片

实现的过程是首先添加数据窗口对象,然后与数据库中的表进行关联,同时对数据窗口进行设置,设置完成后将数据窗口对象与界面上的DataWindow控件进行绑定,我们通过图片来看下具体的过程。

1.选择要添加的数据窗口对象的风格

PB9核心之——数据窗口对象的使用_第2张图片

2.选择何种方式连接数据源

PB9核心之——数据窗口对象的使用_第3张图片

3.选择数据库中的表与数据窗口对象进行绑定

PB9核心之——数据窗口对象的使用_第4张图片

4.对数据窗口进行设置,设置表头和可编辑属性,图片中的2如果不设置,则数据窗口不可编辑,不能输入文本,我在这里花费了很长的时间。

PB9核心之——数据窗口对象的使用_第5张图片

5.下面两张图片设置数据窗口可更新属性,不设置的话,只可以进行查询,不可进行删除和增加。在此还有一点要说的是,数据库中要绑定的表必须有主键。

PB9核心之——数据窗口对象的使用_第6张图片

PB9核心之——数据窗口对象的使用_第7张图片

6.最后一步是将数据窗口进行保存。

7.添加window窗体,在窗体上添加与数据窗口对象关联的控件DataWindow。

数据窗口对象添加完毕以后,下面我们就来看下具体代码的实现

1.在窗口的open事件下代码:

//将数据窗口与控件进行绑定
dw_1.dataobject=“d_user”
dw_1.settransobject( sqlca )
dw_1.retrieve()

2用户管理窗口w_yhgl的Closequery事件代码如下。

/

/窗体关闭时进行提醒
integer rt dw_1.accepttext()
if dw_1.modifiedcount() =0 and dw_1.deletedcount()=0 then
return0 else
rt=messagebox(“提示”,“添加修改内容未保存,确实退出吗?”,Question!,YesNo!)
if rt=1 then
return0
endif
end if return 1

3数据窗口控件的Itemechanged事件代码如下。

cb_save.enabled=true //激活“保存”按钮

4[添加]按钮控件cb_add的Clicked事件代码如下。

//添加功能的实现
integer row
row=dw_1.insertrow(0)
dw_1.scrolltorow(row)

5[删除]按钮控件cb_delete的Clicked事件代码如下。

//进行记录的删除
dw_1.deleterow(0)
cb_3.enabled=true

6[保存]按钮控件cb_save的Clicked事件代码如下。

//对添加和删除进行操作
if dw_1.update(true,false)=1 then
       dw_1.resetupdate()
       commit;
       cb_3.enabled=false
else
       rollback;
       messagebox("提示","保存数据失败!")
end if

7[退出]按钮控件cb_exit的Clicked事件代码如下。

close(parent)

到这里我们利用数据窗口对象实现记录的增删查就实现了。

总结

总的来说,我认为数据窗口和DataWindow其实就是一个封装好的控件,可以与数据库中的表进行绑定,我们对于记录进行增删改查时不再需要后台写SQL语句,只需要利用他们提供给我们的方法就可以实现增删改查的功能,并且关于数据窗口对象的样式也是有很多种风格的,使用起来还是很方便的。

你可能感兴趣的:(pb,powerbuilder)