救急啊,麻烦看看这些代码哪里有错啊!

thomashoo 2003-12-18 10:13:34
一个dw窗口连接的是一个grid风格的数据对象dw-1,所有列都可以修改,
我想当我更改某行中的数据后,把修改过的这行数据拷贝到另外一个
dw—2 里去,dw—2是external的数据源,所有列名和dw-1一样的:
我是在一个“保存”按钮的clickd事件里面的代码,我的代码如下:
if dw_1.update()=1 then
messagebox("","保存成功!")
else
messagebox("","保存失败!")
end if

dwItemStatus l_status
l_status=dw_1.getItemStatus(dw_1.getrow(),dw_1.getcolumn(),primary!)
if l_status=datamodified! then
dw_1.RowsCopy(dw_1.getrow(),dw_1.rowcount(),primary!,dw_2,1,primary!)
end if


保存成功,可是就是不能实现拷贝的功能。
请问:是否dw-2的数据窗口对象不要设置成external,而是和dw-1一样的grid数据窗口对象?是否不应该在“保存”按钮中的事件写如上代码?
或者哪位大哥知道另外的方法,可以指教在下吗?谢谢拉!

...全文
27 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
freebirdwjy 2003-12-18
  • 打赏
  • 举报
回复
1。不能拷贝的原因是两段写反了
2。dw_2是用来显示的吧?如果是直接用dw-1的datawindow就好了,只要不update这样可以保证两个数据窗口结构完全一样,不容易出错。
chrisfy 2003-12-18
  • 打赏
  • 举报
回复
你是先dw_1.update()的,如果是保存成功,那末l_status得值应该是Nomodified!,所以根本进入不了下面条件语句:
if l_status=datamodified! then
dw_1.RowsCopy(dw_1.getrow(),dw_1.rowcount(),primary!,dw_2,1,primary!)
end if
mittee 2003-12-18
  • 打赏
  • 举报
回复
代码不够严密看下面的
for ll_i = 1 to dw_1.rowcount()
if dw_1.getItemStatus(ll_i,0,primary!) = datamodified! then
ll_dw2_rowcount = dw_2.rowcount()
if ll_dw2_rowcount = 0 then ll_dw2_rowcount = 1
dw_1.rowscopy(ll_i,ll_i, Primary!, dw_2, ll_dw2_rowcount, Primary!)

end if
next

wwwafa9 2003-12-18
  • 打赏
  • 举报
回复
哦,你把代码的位置搞反了,把那两段代码换一下位置就可以了。
liliang800207 2003-12-18
  • 打赏
  • 举报
回复
应该是列属性的问题
dw1和dw2的列的字段属性完全一致吗
到数据窗口画板中看一下
rowcopy要求他们一致
joss 2003-12-18
  • 打赏
  • 举报
回复
DW加个计算列判断一下你便明白了!
if (isRowNew(), if (IsRowModified(), "newmodified!", "new!"), if (IsRowModified(), "datamodified!", "notmodified!"))
UPDATE后的行状态已经变了!
zzclhcbmail 2003-12-18
  • 打赏
  • 举报
回复
同意jdsnhan(柳荫凉) (
jdsnhan 2003-12-18
  • 打赏
  • 举报
回复
1、dw-2的数据窗口对象可以设置成external
2、if dw_1.update() = 1 ,dw_1的状态已经转变了。此时其状态已经不再是datamodified!
所以,你的语句没有执行。
klbt 2003-12-18
  • 打赏
  • 举报
回复
数据窗口的行列状态,在保存前后是不一样的。

1,108

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧