如何在没有值时删除或隐藏占位符

时间:2017-05-16 08:08:13

标签: c# winforms devexpress

我想询问行单元格中有掩码的输入文本是否显示为1234-5678-9123-456。当我试图删除值为什么它仍然显示占位符? - - - -如何删除/隐藏占位符?但是当我尝试用CTRL+DEL删除它时,它的单元格值完全是空的。

    Dim x As New Repository.RepositoryItemTextEdit

    x.Mask.MaskType = Mask.MaskType.Simple
    x.Mask.EditMask = "9999-9999-9999-9999"
    x.Mask.PlaceHolder = " " 
    x.AllowNullInput = DevExpress.Utils.DefaultBoolean.True
    x.NullValuePrompt = ""
    x.NullValuePromptShowForEmptyValue = True
    GridControl3.RepositoryItems.Add(x)


    GridView3.Columns("cardNo").VisibleIndex = 1
    GridView3.Columns("cardNo").Width = 150
    GridView3.Columns("cardNo").ColumnEdit = x

enter image description here

1 个答案:

答案 0 :(得分:0)

根据MaskProperties.ShowPlaceHolder documentation

  

对于MaskType.Regular和MaskType.Simple掩码类型,占位符始终可见。

一种解决方案可能是使用RegEx掩码并在EditValueChanging event handler内控件值为null或为空时切换MaskProperties.ShowPlaceHolder属性。