7

我目前正在使用底部有网格的表单。每当我按 f5 时,网格都会刷新,但表单的其余部分不会。我该怎么做才能使整个表单刷新它的数据?

谢谢。

4

2 回答 2

4

您可以覆盖research数据源上的方法:

public void research(boolean _retainPosition = false)
{
    super(_retainPosition);
    other_ds.research(_retainPosition);
}

other_ds是当前数据源未加入的数据源。

于 2012-10-04T08:48:02.683 回答
3

这取决于您使用的表格。当您在记录上按 F5 时,它会在research该记录所属的数据源或其父数据源上运行该方法(取决于表单的查询,例如,如果您在 SalesTable 表单中的 SalesLine 上按 F5,SalesTable_ds.research(true)将运行)。如我所见,如果表单的其余部分显示属于这些数据源的字段,那么这些字段将被更新。如果字段不属于这些数据源,则表单的其余部分将不会更新(除非例如该active方法已被覆盖以从代码中刷新表单的其余部分。

当 F5 被按下时,你可以做什么来让整个表单刷新它的数据:同样,它取决于表单,所以不知道所有细节很难给出建议,但你可以做的一件事是重写research方法在您的数据源上并从那里以编程方式刷新表单的其余部分。覆盖该active方法更为常见,您通常应该使用它。

于 2012-10-04T09:05:24.267 回答