打开时如何刷新表单?

How to refresh form when I open?

我的表单上的 TabPage 中有一个复选框,如果我 select 复选框,该值将保存在 Table 字段中(存在于我的 FormDataSource: ParametersTable ).

我想在进入TabPage的时候刷新表单,就像按F5一样

可能吗?

有一篇很棒的文章介绍了刷新表单数据的不同方法here。以下是基本大纲:

1.刷新

此方法基本上使用存储在表单缓存中的特定数据源记录的任何内容来刷新表单控件中显示的数据。调用 refresh() 方法将 NOT 从数据库中重新读取记录。所以如果记录在另一个进程中发生了变化,这些在执行后将不会显示 refresh().

2。重读

调用reread()将查询数据库并将当前记录内容重新读入数据源表单缓存。这不会显示窗体上的更改,直到重新绘制网格内容(例如,当您离开该行或重新打开窗体时)。 如果您通过代码添加或删除了记录,则不应使用它来刷新表单数据。

3。研究

调用research() 将对数据库重新运行现有的表单查询,因此使用new/removed 条记录更新列表并更新所有现有行。这将遵循由用户设置的表单上的任何现有过滤器和排序。

4。执行查询

调用 executeQuery() 也将重新运行查询和 update/add/delete 网格中的行。 ExecuteQuery 如果您修改了代码中的查询并需要刷新表单以根据更新的查询显示数据,则应使用。

我强烈建议您阅读这篇文章。尝试使用上面的一些方法或它们的一些组合。

research()方法开始,它可能会解决您的问题:

formDataSource.research();