Acumatica:刷新未绑定DAC的视图,不更新UI

时间:2018-01-17 12:22:22

标签: acumatica

目前我有一个未绑定的DAC,它在处理屏幕中充当过滤器。过滤器中的某些值正在字段更新事件中进行修改。问题是即使我正在执行RequestRefresh函数,UI也不会显示DAC的更新值。我还尝试在执行RequestRefresh之前调用View.Clear()函数无效。

我还有另一个场景,在网格中我有一个选中的复选框,其中一次只能选择一个项目。以下是实施:

protected virtual void DCCrCaseAssignedBenefits_Selected_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
    DCCrCaseAssignedBenefits row = (DCCrCaseAssignedBenefits)e.Row;
    if (row != null && !(bool)e.OldValue && (bool)row.Selected)
    {
        foreach (DCCrCaseAssignedBenefits item in cache.Updated)
        {
            if (item.Selected == true && item != row)
            {
                cache.SetValue<DCCrCaseAssignedBenefits.selected>(item, false);
            }
        }

        CaseAssignedBenefits.View.RequestRefresh();
    }
}

此代码摘录取自Acumatica,然后针对我的DAC进行了修改,但即使图表一次只有一个选定的项目,UI也不会刷新,并给人的印象是选择了多个项目。

1 个答案:

答案 0 :(得分:0)

如果尝试使用cache.Update(item)代替SetValue

,该怎么办?

在你的foreach循环中有类似的东西......

if (item.Selected == true && item != row)
{
    item.Selected = false;
    cache.Update(item);
}

如果这没有帮助,你可以包括你的aspx / grid吗?我假设问题是网格值更新与UI中的过滤器更新?