数据窗口中的下拉数据窗口每当点开时是否会自动retrieve解决思路
数据窗口中的下拉数据窗口每当点开时是否会自动retrieve
我看到书上说带下拉窗口的数据窗口中,每当点开下拉框,下拉框里的数据都会检索一遍。
实际上我发现好像不是这样的,即使我修改了数据下拉数据窗口的数据源(插入或删除新纪录)。
当点开下拉窗口时,里面的记录还是修改前的。只有用getchild()然后retrieve()后才显示修改后的记录
我奇怪的是当我删除记录后(直接写sql删的,没有用deleterow()并且commit了),下拉窗口里还是能显示已经被删除掉的记录,这是为什么啊?
------解决方案--------------------
请注意下拉的字段 - edit属性有个autoretrieve的设置,当勾选了这个选项,只要你看到他,他就已经retrieve了,所以无论你增加或者删除,只要你没有重新retrieve,他的数据还是原来那样。并不是当你点击下拉的时候才retrieve数据的。
如果LZ想验证下他究竟什么时候retrieve的,那你把dropdowndatawindow设置成有where条件,然后选上autoretriev,,这样,当程序打开,他弹出框让你选参数的时候,就是他读取数据的时候了。
------解决方案--------------------
应该这么写:
当勾选autoretrieve后,只有在dw已经settransobject(sqlca)的前提下
dw第一次生成数据时才会自动检索dddw的数据
“生成数据时”包括
①执行retrieve时
②insertrow时
③rowscopy时
④importstring时
⑤。。。其他能往dw中插入数据的操作
以上操作只有在第一次执行时会自动检索dddw的数据
我看到书上说带下拉窗口的数据窗口中,每当点开下拉框,下拉框里的数据都会检索一遍。
实际上我发现好像不是这样的,即使我修改了数据下拉数据窗口的数据源(插入或删除新纪录)。
当点开下拉窗口时,里面的记录还是修改前的。只有用getchild()然后retrieve()后才显示修改后的记录
我奇怪的是当我删除记录后(直接写sql删的,没有用deleterow()并且commit了),下拉窗口里还是能显示已经被删除掉的记录,这是为什么啊?
------解决方案--------------------
请注意下拉的字段 - edit属性有个autoretrieve的设置,当勾选了这个选项,只要你看到他,他就已经retrieve了,所以无论你增加或者删除,只要你没有重新retrieve,他的数据还是原来那样。并不是当你点击下拉的时候才retrieve数据的。
如果LZ想验证下他究竟什么时候retrieve的,那你把dropdowndatawindow设置成有where条件,然后选上autoretriev,,这样,当程序打开,他弹出框让你选参数的时候,就是他读取数据的时候了。
------解决方案--------------------
应该这么写:
当勾选autoretrieve后,只有在dw已经settransobject(sqlca)的前提下
dw第一次生成数据时才会自动检索dddw的数据
“生成数据时”包括
①执行retrieve时
②insertrow时
③rowscopy时
④importstring时
⑤。。。其他能往dw中插入数据的操作
以上操作只有在第一次执行时会自动检索dddw的数据