blackcorbie请进!

sfw 2002-08-15 02:52:52
为什么更新之后不光是选中的那条纪录,
而是数据窗口中那个字段的所有记录全都改变了
怎么解决呢?
麻烦详细一点
多谢
string ls_name

if dwo.name = "bm" then
open(w_classmodify)
ls_name = message.stringparm
if ls_name = "0" or isnull(ls_name) then
return
else
this.object.bm[row] = ls_name
end if
end if
...全文
34 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ddtid 2002-08-15
  • 打赏
  • 举报
回复
修改dw列中的tab,为0的不能修改
改成其他数字就可以了

实在不行了,你重新做一个dw就可以了
sfw 2002-08-15
  • 打赏
  • 举报
回复
刚才没说清楚,我是说别的datawindow 只是数字部分是黑色,并且可以修改。
sfw 2002-08-15
  • 打赏
  • 举报
回复
估计可能是datawindow的问题,我不知道改了哪里?线在选一个字段对应的某一条纪录的时候,方框里面全都是黑色,且不能修改,而其他的只是数字部分是黑色,并且可以修改,这个在那里改呢?
ddtid 2002-08-15
  • 打赏
  • 举报
回复
直接update会更改dw中所有记录?
你改变一下dw的update属性,应该选第三个吧,比较可靠些
sfw 2002-08-15
  • 打赏
  • 举报
回复
我市想让双击bm这个字段的某一条纪录时,弹出一个窗口,在弹出窗口里面有
一个下拉框,下拉框里面显示的是原来数据窗口中bm所对应的纪录,现在
想用下拉框中的某一个替换原数据窗口中刚才双击的那条纪录,我刚才按照你说的用messagebox看了一下,显示只有双击的那条纪录被修改了,但这时候
数据库中的数据并没有修改,怎么样才能让这条记录修改呢?
ddtid 2002-08-15
  • 打赏
  • 举报
回复
你提供的情况不够具体
update之前你做了什么?
把程序贴出来吧
要么在update之前你用messagebox看看各个行的状态
sfw 2002-08-15
  • 打赏
  • 举报
回复
row显示的是当前选中的哪一行,我用的是dw_1.update()这个函数,数据窗口中显示只有要修改的那条纪录被修改了,而用update()函数更新之后却是所有记录全背修改了,真不知道什么原因。
ddtid 2002-08-15
  • 打赏
  • 举报
回复
我不知道,估计是open那个窗口之后改变了dw的选择状态
建议你在this.object.bm[row] = ls_name之前加上:
long ll_row
ll_row = this.getrow()
if ll_row > 0 then this.object.bm[ll_row] = ls_name

或者你用messagebox在this.object.bm[row] = ls_name之前看看row究竟是多少?
sfw 2002-08-15
  • 打赏
  • 举报
回复
datawindow的doubleclick里面
ddtid 2002-08-15
  • 打赏
  • 举报
回复
你在哪个时间里面写的这些代码?

1,072

社区成员

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

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