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

Graph 使表单字段选择值依赖于另一个字段值,graph,acumatica,dac,Graph,Acumatica,Dac,我正在一个定制项目中编辑AP301000屏幕,账单和调整 我在表单中添加了两个新字段,它们都在APRegisterExt类中。 1.蓬布尔 2.收据 当用户选择PO编号时,我希望ReceiptNbr选择值仅限于具有相同PO编号的收据记录 我尝试在ReceiptNbr上使用PXSelector属性,但由于PONumber位于扩展类中,因此无法使用Current访问此字段 有什么想法吗?关于第二个CustomField的选择器属性定义,请使用当前语句进行筛选,请参见以下内容: #region Usr

我正在一个定制项目中编辑AP301000屏幕,账单和调整

我在表单中添加了两个新字段,它们都在APRegisterExt类中。 1.蓬布尔 2.收据

当用户选择PO编号时,我希望ReceiptNbr选择值仅限于具有相同PO编号的收据记录

我尝试在ReceiptNbr上使用PXSelector属性,但由于PONumber位于扩展类中,因此无法使用Current访问此字段


有什么想法吗?

关于第二个CustomField的选择器属性定义,请使用当前语句进行筛选,请参见以下内容:

#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
<px:PXSelector runat="server" ID="CstPXSelector2" DataField="UsrCustomField1" CommitChanges="True" AutoRefresh="True" />
<px:PXSelector runat="server" ID="CstPXSelector1" DataField="UsrCustomField2Dependent" CommitChanges="True" AutoRefresh="True" />
然后在您的ASPX文件中,确保添加了CommitChanges=True和AutoRefresh=True属性,请参见以下内容:

#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
<px:PXSelector runat="server" ID="CstPXSelector2" DataField="UsrCustomField1" CommitChanges="True" AutoRefresh="True" />
<px:PXSelector runat="server" ID="CstPXSelector1" DataField="UsrCustomField2Dependent" CommitChanges="True" AutoRefresh="True" />

如果需要,您还可以在usrCustomField2Dependent上添加验证,以防用户填写字段1,然后填写字段2,但更改字段1-我假设您希望字段2在当时无效。Ex:[PXFormulatypeofValidate]