如何更改选择器描述字段的显示名称

How to change the display name of description field of selector

我有一个自定义,我将选择器添加到具有如下描述字段的网格字段:

[PXSelector(typeof(Search<EPEmployee.bAccountID,
                   Where<EPEmployee.status, Equal<SetupTypes.active>>>),
                   typeof(EPEmployee.acctCD),
                   typeof(EPEmployee.acctName),
                   SubstituteKey = typeof(EPEmployee.acctCD),
                   DescriptionField = typeof(EPEmployee.acctName))]

我的问题是该字段有一个自动添加的描述(在本例中为 'Employee Name')字段,但我找不到更改该字段显示名称的方法。

因为我有另一个字段使用相同的员工查找,它们都有相同的 'Employee Name' 描述字段 - 所以我无法知道哪个描述与哪个选择器字段匹配,除非我选择一个值和查看相关 'Employee Name' 字段中显示的说明。

有没有办法更改该描述字段的显示名称?我已经尝试使用 CacheAttached 和带有 PXUIFieldAttribute.SetDisplayName 的 RowSelected 事件,但似乎没有任何效果。似乎 'field_description' 是一个自动添加的字段,在 DAC 中的任何地方都不存在,无法更改显示名称。

根据 Acumatica 支持,完成此操作的唯一方法如下:

似乎唯一可行的方法是拥有两个不同的 DAC,它们是 EPEmployee DAC 的投影,并在单独的选择器属性中使用每个。

例如:

[PXProjection(typeof(EPEmployee))]
 public class EPEmployeeTest : IBqlTable
 {
    #region BAccountID
    ...
    #endregion
    #region AcctCD
    ...
    #endregion

    public abstract class acctName : PX.Data.BQL.BqlString.Field<acctName> { }
    [PXDBString(60, IsUnicode = true, BqlField=typeof(EPEmployee.acctName))]
    [PXUIField(DisplayName = "Employee Name New Label", Enabled = false, Visibility = PXUIVisibility.SelectorVisible)]
    public override string AcctName{get; set;}

 }