Acumatica 强制输入大写字母

Acumatica 强制输入大写字母,acumatica,Acumatica,我有一个输入掩码,应该转换成大写。事实上,当焦点移离字段时,显示变为大写,但数据库中的数据仍然是小写。我怎样才能强制使用大写字母进行保存呢 #region PartnerID public abstract class partnerID : PX.Data.IBqlField { } protected string _PartnerID; [PXDBString(30, IsUnicode = true, IsKey = true, InputMask = "

我有一个输入掩码,应该转换成大写。事实上,当焦点移离字段时,显示变为大写,但数据库中的数据仍然是小写。我怎样才能强制使用大写字母进行保存呢

    #region PartnerID
    public abstract class partnerID : PX.Data.IBqlField { }
    protected string _PartnerID;
    [PXDBString(30, IsUnicode = true, IsKey = true, InputMask = ">CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC")]
    [PXDefault()]
    [PXUIField(DisplayName = "Partner")]
    public virtual string PartnerID { get; set; }
    #endregion
还有其他(更好的?)方法来实现这一点,但我相信C#property setter可以工作:

#region PartnerID
public abstract class partnerID : PX.Data.IBqlField { }
protected string _PartnerID;
[PXDBString(30, IsUnicode = true, IsKey = true, InputMask = ">CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC")]
[PXDefault()]
[PXUIField(DisplayName = "Partner")]
public virtual string PartnerID 
{ 
   get
   {
      return this._PartnerID;
   },
   set
   {
      this._PartnerID = value.ToUpper();
   } 
}
#endregion

如果不在Aspx中使用PXMaskEdit,为PXDBSTRINGATTRITE设置的InputMask将不会产生任何效果。尝试在布局编辑器中重新创建输入控件,并使用定义为自动实现属性的PartnerID测试结果

要指定不同的提示字符,可以将新提示字符的HTML代码设置为Aspx中PXMaskEdit的PromptChar属性:


我会试试这个。有时候最简单的方法就是最好的。我假设>cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc。。。也会自动将其转换为upper。请仔细检查,您是否在Aspx中为PartnerID字段定义了
PXMaskEdit
输入控件?否,我没有。我只设置默认值。我将查看表单上字段的选项。这可以获得大写,但我无法在值中包含下划线。这是绝对必要的,因为我必须匹配其他系统中的值。由于这是一个自定义表,因此没有用于更新提示字符的分段键。我可以为它定义一个提示字符吗?我似乎无法获得自动大写转换以及包含下划线的功能。我可以在aspx页面中使用文本编辑字段,在rowSelected事件中使用toUpper()。有更好的办法吗?太好了!工作起来很有魅力。谢谢你的提示。欢迎!很高兴能帮上忙。Ruslan,请看我上面关于下划线的评论。Jerry,关于如何为PXMaskEdit指定不同的提示字符的示例,请参阅我上面更新的答案。