我正在自定义项目中编辑AP301000的屏幕,“帐单和调整”。
我在表单中添加了两个新字段,它们都在APRegisterExt类中。 1. PONbr 2. ReceiptNbr
当用户选择一个PO编号时,我希望ReceiptNbr选择值仅限于具有相同PO编号的收据记录。
我尝试在ReceiptNbr上使用PXSelector属性,但是因为PONumber在扩展类中,所以无法使用Current <>来访问此字段。
有什么想法吗?
答案 0 :(得分: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" />