我正在定制项目中编辑AP301000屏幕,票据和调整。
我在表单中添加了两个新字段,它们都在APRegisterExt类中。 1. PONbr 2. ReceiptNbr
当用户选择采购订单编号时,我希望将ReceiptNbr选择值仅限于具有相同采购订单编号的收货记录。
我尝试在ReceiptNbr上使用PXSelector属性,但由于PONumber属于扩展类,我无法使用Current <>来访问此字段。
有任何想法吗?
在第二个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" />