在输入上强制使用大写

时间:2018-07-24 21:19:32

标签: acumatica

我有一个应该转换为大写字母的输入掩码。实际上,当焦点移出字段时,显示将变为大写,但数据库中的数据仍为小写。我怎么也可以强制大写保存。

    #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

2 个答案:

答案 0 :(得分:1)

如果不在Aspx中使用PXMaskEdit,则为PXDBStringAttribute设置的

InputMask将不起作用。尝试在“布局编辑器”中重新创建输入控件,并使用定义为自动实现属性的PartnerID来测试结果。

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

<px:PXMaskEdit ID="edPartnerID" runat="server" DataField="PartnerID" PromptChar="&#42;" />

答案 1 :(得分:-1)

还有其他更好的方法可以实现这一点,但是我相信C#属性设置器可以工作:

#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