表A 和 窗口Table 不同步: 注意窗口Table第三列内容为修改过的,表A中没有,但可以fill到窗口来。
此主题相关图片如下:未命名.jpg
[此贴子已经被作者于2010-2-26 16:12:34编辑过]
窗口Table和表A是没有关系的,虽然来自同一个后台数据表。
应该是个问题,窗口Table,用
Tables("窗口1_Table1").Fill("select * from {表A}",False)
Fill来的数据,如果被改动
并保存,表面上看表A没有被修改,实际已经被改了。单纯做一次这样的动作(
假使不进行任何其他操作)就关闭系统也
不会提示是否要保存 。重新启动项目后,在窗口被保存的内容,表A中全部都有了。
请想想看?
如果是:
Tables("窗口1_Table1").Fill("select * from {表A}",True) 就不会被真正保存了。
[此贴子已经被作者于2010-2-26 16:33:20编辑过]
以下是引用狐狸爸爸在2010-2-26 17:20:00的发言:
不可以的
但实际上已经‘后台’同步保存了表A呀 。看了3楼和4楼的描述吗。 如果表A没有重新 load 的话,此时直接打印预览表A时,在窗口table修改过并保存的内容就不会被显示出来了(其他的导出,充填等还没有测试过)。
还要注意的是 窗口table修改内容并保存后, 用充填方法:;
dim f As New Filler
f.SourceTable = DataTables("表A")
f.DataTable = DataTables("窗口1_Table1")
'DataTables("窗口1_Table1").DataRows.Clear() '一不小心用了这一句代码就会把表A也清空掉!!!
f.Fill()
也不会把修改保存后的内容fill到窗口table中,
而Tables("窗口1_Table1").Fill("select * from {表A}",False)
会把修改后的内容fill到窗口来。
这样两个结果,总不应该吧~