在PXSelector中获取基本记录的值

问题描述 投票:0回答:1

我正在尝试将选择器添加到DAC扩展(PMChangeOrder)上的字段,我需要从基本记录中获取一个值,以将其放在PXSelector搜索中的where语句中。选择器将使用户能够基于当前项目ID来输入新值或从先前输入的值中进行选择。我是否使用Current <>?是否覆盖附加的缓存?我似乎无法通过projectID的当前值来选择选择器。

    public abstract class usrPCONo : PX.Data.BQL.BqlInt.Field<usrPCONo> { }
    [PXDBInt()]
    [PXUIField(DisplayName = "PCO No.", Visibility = PXUIVisibility.SelectorVisible)]
    [PXSelector(typeof(Search4<usrPCONo, Where<PMChangeOrder.projectID, Equal<Current<PMChangeOrder.projectID>>>,
        Aggregate<GroupBy<usrPCONo>>>), typeof(usrPCONo), typeof(PMChangeOrder.description), ValidateValue = false )]
    public virtual int? UsrPCONo
    {
        get;
        set;
    } 

谢谢

acumatica
1个回答
0
投票

您在问题中提供的代码似乎正常工作。确保在aspx文件中将AutoRefresh设置为true。这样可以使您在打开选择器弹出窗口时自动刷新选择器中的记录,以反映用户选择的当前ProjectID。否则,如果用户打开选择器弹出窗口,更改ProjectID,然后重新打开选择器弹出窗口,则除非用户在弹出窗口中手动按下刷新按钮,否则记录仍将反映旧值。我的猜测是,这就是您所遇到的。

<px:PXSelector runat="server" ID="edUsrPCONo" DataField="UsrPCONo" AutoRefresh="True" CommitChanges="True" />
© www.soinside.com 2019 - 2024. All rights reserved.