我需要添加一个Mask / DisplayFormatString来仅查看DevExpress GridViewDataColumn中的最后4位数字。例如,真实帐号为123456789
。然后,它将显示为*****6789
。
您能帮我吗?
<dx:GridViewDataColumn Caption="Bank Account Number" FieldName="BankAccountNumber"></dx:GridViewDataColumn>
答案 0 :(得分:1)
据我所知,ASPxGridView
中没有这样的本机显示格式功能,该功能会部分掩盖某些前几个字符的字符串(可用密码掩码,但会掩盖所有字符),但是您可以处理{{1 }}事件可通过以下解决方法产生自定义遮罩:
ASPxGridView.CustomColumnDisplayText
侧面说明:如参考所述,在打印或导出protected void ASPxGridView1_CustomColumnDisplayText(object sender, DevExpress.Web.ASPxGridViewColumnDisplayTextEventArgs e)
{
// check column name first
if (e.Column.FieldName != "BankAccountNumber")
return;
// get column values for BankAccountNumber
string value = e.Value.ToString();
// set asterisk to hide first n - 4 digits
string asterisks = new string('*', value.Length - 4);
// pick last 4 digits for showing
string last = value.Substring(value.Length - 4, 4);
// combine both asterisk mask and last digits
string result = asterisks + last;
// display as column text
e.DisplayText = result;
}
时将使用通过此事件提供的文本,可能您需要单独ASPxGridView
实例以多种格式导出或打印。
伪造核心示例:Fiddle demo
参考:ASPxGridView.CustomColumnDisplayText Event
相关问题:
ASPxGridView - How to use the CustomColumnDisplayText event handler
答案 1 :(得分:0)
仅填写输入格式,如果只希望查看4位数字,也许可以在服务器端使用子字符串
来源: https://demos.devexpress.com/aspxeditorsdemos/Features/MaskedInput.aspx