Acumatica 根据特定条件动态更改字段DisplayName

Acumatica 根据特定条件动态更改字段DisplayName,acumatica,Acumatica,我知道在BLC的构造函数中,我们可以通过静态方法更改displayname PXUIFieldAttribute.SetDisplayName PXUIFieldAttribute.SetDisplayName(发送方,“新值”); 我试图更改文档标题记录的选定行事件。但它似乎不起作用。是否可以在某些行列事件中或初始化后更改此值?要在运行时更改窗体上的字段显示名称,您可以: -向DAC添加新的未绑定字段。(只读) -根据使用处理程序的条件修改其值。(示例:在选定的客户对账单周期ID上) 公共类

我知道在BLC的构造函数中,我们可以通过静态方法更改displayname

PXUIFieldAttribute.SetDisplayName

PXUIFieldAttribute.SetDisplayName(发送方,“新值”);

我试图更改文档标题记录的选定行事件。但它似乎不起作用。是否可以在某些行列事件中或初始化后更改此值?

要在运行时更改窗体上的字段显示名称,您可以:

-向DAC添加新的未绑定字段。(只读)

-根据使用处理程序的条件修改其值。(示例:在选定的客户对账单周期ID上)

公共类CustomerMain_扩展:pxGrapherExtension
{
已选择受保护的无效客户(PXCache发送方,PXRowSelectedEventArgs e)
{
var客户=(BAccount)e.Row;
var customerExt=customer.GetExtension();
if(customerExt!=null)
{
customerExt.UsrReadOnlyAcctName=customer.AcctName;
}
}
}
-新未绑定字段和标签将被替换的现有字段的SuppressLabel(true)。

-将添加的未绑定字段放在现有字段之前。

有关详细信息或PXGrid,请确保将PXGrid控件的RepaitColumns属性设置为True


有关详细信息,我们已经回答了一个类似的问题:

要在运行时更改表单上的字段显示名称,您可以:

-向DAC添加新的未绑定字段。(只读)

-根据使用处理程序的条件修改其值。(示例:在选定的客户对账单周期ID上)

公共类CustomerMain_扩展:pxGrapherExtension
{
已选择受保护的无效客户(PXCache发送方,PXRowSelectedEventArgs e)
{
var客户=(BAccount)e.Row;
var customerExt=customer.GetExtension();
if(customerExt!=null)
{
customerExt.UsrReadOnlyAcctName=customer.AcctName;
}
}
}
-新未绑定字段和标签将被替换的现有字段的SuppressLabel(true)。

-将添加的未绑定字段放在现有字段之前。

有关详细信息或PXGrid,请确保将PXGrid控件的RepaitColumns属性设置为True


关于详细信息,我们已经回答了一个类似的问题:

因此这是一个使用未绑定字段而不是实际更改显示名称的解决方法。谢谢@cbYes,你是对的,这是一个没有绑定字段的解决方案!不幸的是,PXUIField没有类似于“RepaitColumns”的ASPX字段属性我们用于网格。只是一个额外的点-似乎需要将“标签”字段和实际字段放在合并布局规则中,包含起始组和结束组-但是“标签”看起来仍然与左侧偏移了几个空格,并且还有下划线,这使它看起来很糟糕。我遗漏了什么吗?所以这是一个使用未绑定字段的变通方法,而不是实际更改显示名称。谢谢@cbYes,你是对的,这是一个没有绑定字段的解决方案!不幸的是,PXUIField没有类似于“RepaitColumns”的ASPX字段属性我们用于网格。只是一个额外的点-似乎需要将“标签”字段和实际字段放在合并布局规则中,包含起始组和结束组-但是“标签”看起来仍然与左侧偏移了几个空格,并且还有下划线,这使它看起来很糟糕。我错过什么了吗?
PXUIFieldAttribute.SetDisplayName<FIELD>(sender, "NEW VALUE");
  [PXString(60, IsUnicode = true)]
  [PXUIField(Enabled = false, IsReadOnly = true)]
  public virtual string UsrReadOnlyAcctName{get;set;}
  public abstract class usrReadOnlyAcctName : IBqlField{}
 public class CustomerMaint_Extension:PXGraphExtension<CustomerMaint>
  {

      protected void Customer_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
      {
          var customer = (BAccount)e.Row;
          var customerExt = customer.GetExtension<BAccountExt>();
          if (customerExt != null)
          {
              customerExt.UsrReadOnlyAcctName = customer.AcctName;
          }
      }

  }