使表单字段选择值依赖于另一个字段值

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

我正在定制项目中编辑AP301000屏幕,票据和调整。

我在表单中添加了两个新字段,它们都在APRegisterExt类中。 1. PONbr 2. ReceiptNbr

当用户选择采购订单编号时,我希望将ReceiptNbr选择值仅限于具有相同采购订单编号的收货记录。

我尝试在ReceiptNbr上使用PXSelector属性,但由于PONumber属于扩展类,我无法使用Current <>来访问此字段。

有任何想法吗?

graph acumatica dac
1个回答
1
投票

在第二个CustomField的Selector属性定义中,使用Current <>语句进行过滤,请参见下文:

#region UsrCustomField1
[PXDBInt]
[PXUIField(DisplayName="CustomField1")]
[PXSelector(typeof(Search<DAC.Field>),
                     typeof(DAC.Field),
                     typeof(DAC.Field),
                     SubstituteKey= typeof(DAC.Field))]
public virtual int? UsrCustomField1 { get; set; }
public abstract class usrCustomField1 : IBqlField { }
#endregion



#region UsrCustomField2Dependent
[PXDBInt]
[PXUIField(DisplayName="CustomField2Dependent")]
[PXSelector(typeof(Search<DAC.Field, Where<DAC.Field, Equal<Current<UsrCustomField1>>>>),
                     typeof(DAC.Field),
                     typeof(DAC.Field),
                     SubstituteKey= typeof(DAC.Field))] 
public virtual int? UsrCustomField2Dependent { get; set; }
public abstract class usrCustomField2Dependent : IBqlField { }
#endregion

然后在您的ASPX文件上确保添加了CommitChanges = True和AutoRefresh = true属性,请参见下文:

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