我的表单上的TabPage中有一个CheckBox,如果我选择了checkBox,则该值保存在Table字段中(存在于我的FormDataSource:ParametersTable中)。
我想在输入TabPage时刷新表单,就像按下F5一样。
有可能吗?
答案 0 :(得分:1)
有一篇很棒的文章介绍了刷新表单数据here的不同方法。以下是基本概要:
此方法基本上刷新表单控件中显示的数据,使用存储在该特定数据源记录的表单高速缓存中的任何内容。调用refresh()方法将 NOT 重新读取数据库中的记录。因此,如果另一个进程中的记录发生了更改,则执行refresh()
后将不会显示这些更改。
调用reread()
将查询数据库并将当前记录内容重新读入数据源表单缓存。在重新绘制网格内容之前(例如,当您离开行或重新打开表单时),这将不会显示表单上的更改。
如果已通过代码添加或删除记录,则不应使用它来刷新表单数据。
调用research()
将重新运行针对数据库的现有表单查询,因此使用新/已删除记录更新列表以及更新所有现有行。这将支持表单上由用户设置的任何现有过滤器和排序。
调用executeQuery()
也会重新运行查询并更新/添加/删除网格中的行。如果您在代码中修改了查询并需要刷新表单以根据更新的查询显示数据,则应使用ExecuteQuery
。
我强烈建议你阅读这篇文章。尝试使用上面的一些方法或它们的一些组合。
从research()
方法开始,它可能会解决您的问题:
formDataSource.research();