你的窗口上的两个数据窗口,虽然说项目和科目有对应,但是从两个数据窗口上看,应该是各自显示各自的数据吧?更像是一个基础数据的显示,对吧?
然后,你要左右各选择一行,通过一个按钮【对应】,来实现二者的对应并存储到后台表中,是这个意思么?
那就在对应这个按钮的点击事件中写代码就差不多了。
比如科目的数据窗口是dw_1,项目的数据窗口是dw_2
对应的点击事件:
if dw_1.GetRow() <= 0 then return //dw_1没有选择行
if dw_2.GetRow() <= 0 then return //dw_2没有选择行
string ls_acct, ls_project //定义变量
ls_acct = dw_1.object.acct_no[dw_1.GetRow()] //获取当前点击的科目值
ls_project = dw_2.object.project_no[dw_2.GetRow()]//获取当前点击的项目值
insert into 对应关系表(科目编号, 项目编号) values (:ls_acct, :ls_project); //插入表
if sqlca.sqlcode = 0 then //插入成功
commit; //提交确认
else
rollback; //插入失败,回滚事务
end if
这样你的对照关系就插入成功了,如果你的窗口上还有一个现实对应关系的数据窗口,在这之后直接做retrieve,就能刷新对应的关系在数据窗口显示了。
希望能帮到你,别忘了采纳我的答案哦,祝你生活愉快!