屏蔽帐号以查看DevExpress GridViewDataColumn中的最后4位数
我需要添加一个Mask / DisplayFormatString来查看DevExpress GridViewDataColumn中的最后4位数字。 例如,如果真实帐号是123456789
。 然后它应显示为*****6789
。 你能帮我解决这个问题吗?
据我所知, ASPxGridView
没有这样的原生显示格式function,它部分遮盖了某些字符串的某些字符串(密码掩码可用但是遮盖了所有字符),但是你可以处理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
时,将使用通过此事件提供的文本 ,可能需要单独的ASPxGridView
实例以多种格式导出或打印。
掩蔽核心示例: 小提琴演示
参考: ASPxGridView.CustomColumnDisplayText事件
相关问题:
ASPxGridView – 如何使用CustomColumnDisplayText事件处理程序
屏蔽仅用于输入表单,如果您只想查看4位数,可以在服务器端使用子字符串
资料来源: https : //demos.devexpress.com/aspxeditorsdemos/Features/MaskedInput.aspx