说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请教一个数据窗口刷新问题

编辑:说三道四文库 发布时间:2018-08-20 04:25
HTML文档下载 WORD文档下载 PDF文档下载
有一个grid类型的数据窗口d_basic,并且当打开含有d_basic的窗口的时候数据窗口中的数据就retrieve出来了
有几千条数据

要求:
1。双击某一行,弹出一个编辑窗口,编辑了这一行的内容,当关闭弹出窗口之前,数据就提交给了数
   据库。
   现需要让原来数据窗口d_basic中被修改的这一行同步数据刷新。
2。可能是新加一行,也弹出一个编辑窗口,当关闭编辑窗口之前,新加的数据也提交给了数据库。
   关闭编辑窗口之后,需要让原数据窗口d_basic也新加一行。

如果我用d_basic.retrieve()的话又会从新检索所有的数据,并且绝大部分数据是已经检索出来了的
浪费大量时间。我只想把有变动的数据在d_basic中表示出来。这个怎么办呢?
我用的数据库是sql server 2000
你做一个编辑窗口 然后 在数据窗口的DOUBLECLICKED事件里面调用不就OK?
可以d_basic.insertrow(0)一下,需要什么数据就自己填上去
还是retrieve把,数据窗口检索几千条数据不会慢的,,,更多数据就另当别论了!

如果数据两太大的话(超万条),就不宜使用列表检索全部数据了,应该由用户选择条件的取数据。
如果是添加你就Insertrow(0)
打开新的窗口你可以用openwithparm的形式,在关闭的时候closewithreturn
这样修改数据你可以setitem啊,这样就不用重新retrieve了
不过如果单行数据量大的话可能会很麻烦。
把兩個DW的數據源做成一樣,在關閉時,進行rowscopy就行了
把兩個DW的數據源做成一樣,
將原來那筆數據移到FILTER區,
在關閉時,進行rowscopy就行了
ding 上面一楼的
这样的呀,,,

在你想要双击的那个数据窗口里写一个DOUBLECLICKED()事件
你需要别外再弹出的窗口里再建一个数据窗口dw_2
 
在W_1窗口里的DW_1里的DOUBLECLICKED()
OPEN(W_2)在W_2的OPEN事件里写上
dw_2.settransobject(sqlca)
dw_2.retrieve(w_1.dw_1.getitemstring(w_1.dw_1.getrow(),"这里是你想显示出来的字段"))

OK了呀,,祝你好运
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘