我在数据网格中有 SSN 列,我想像这样屏蔽它*****1234
。但是当用户键入类型 SSN 时,它不应该屏蔽它。有什么方法可以屏蔽数据网格中的单元格。
问问题
1145 次
2 回答
2
我只知道一种方法可以做到这一点,尽管可能有一种更简单的方法*。您可以在 datagridview 单元格中托管自定义编辑控件。该变形仅在您编辑单元格时出现,否则单元格的值可见。您可以在此处阅读有关此内容的更多信息:
https://msdn.microsoft.com/en-us/library/7tas5c80.aspx
您可以通过某种方式实现这一点,即单元格本身仅包含被屏蔽的值,而编辑控件则包含完整的值。
于 2015-02-03T15:12:35.693 回答
1
您可以通过CellFormatting
为DataGridView
. 例如像这样:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.Value != null && e.Value.ToString() != "SSN")
{
if (!(dataGridView1.CurrentCell != null && dataGridView1.IsCurrentCellInEditMode && dataGridView1.CurrentCell.RowIndex == e.RowIndex && dataGridView1.CurrentCell.ColumnIndex == e.ColumnIndex))
{
e.Value = "****1234";
e.FormattingApplied = true;
}
}
}
于 2015-02-03T15:15:27.067 回答