我在 Acumatica ERP(版本 23.117.0021)中有一个查询图。在详细数据视图委托中,我使用
System.Diagnostics.StopWatch
来计算检索所有记录所需的时间。检索完所有记录后,我将过滤器 DAC 中的字符串字段设置为经过的时间。
问题是经过的时间字段在代码中更新,但在 UI 中没有更新。它仅在再次运行查询时更新。因此,经过的时间值始终是上次执行的值。
如何在屏幕上更新此值?
这是我在详细数据视图委托中设置经过时间的方法:
public virtual IEnumerable details()
{
Filter filter = this.Filter.Current;
Stopwatch stopwatch = Stopwatch.StartNew();
// Retrieve and yield return the results here.
. . .
stopwatch.Stop();
filter.TimeElapsed = stopwatch.Elapsed.ToString(@"mm\:ss\.ff");
}
尝试更新缓存中的数据:
filter.TimeElapsed = stopwatch.Elapsed.ToString(@"mm\:ss\.ff");
Filter.Update(filter);
如果这还不够,您可以尝试刷新过滤器视图:
Filter.RequestRefresh();
第二个可能会出现问题,因为您位于另一个视图委托中,并且
RequestRefresh
可能会导致无限循环。