C# 在C中屏蔽datatable中的单个列#

C# 在C中屏蔽datatable中的单个列#,c#,C#,我有数据表要在gridview中查看。现在我需要将“AdminNumber”列内容的前6位数字屏蔽为“XXXXXX 895” 数据表输入: AdminNumber Name 245637895 sham 124563789 Ram 我需要数据表输出为: AdminNumber Name XXXXXX895 Sham XXXXXX789 Ram 我已经尝试过了,但是我得到了格式化字符串选项: gridview.DataSource = dtSource;

我有数据表要在gridview中查看。现在我需要将“AdminNumber”列内容的前6位数字屏蔽为“XXXXXX 895”

数据表输入:

AdminNumber   Name
245637895     sham
124563789     Ram
我需要数据表输出为:

AdminNumber  Name
XXXXXX895    Sham
XXXXXX789    Ram
我已经尝试过了,但是我得到了格式化字符串选项:

gridview.DataSource = dtSource; gridview.Columns[0].FormatString = "######";
您可以使用
CellFormatting
事件:

private void gridview_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{
    if (e.ColumnIndex == 0 && e.Value != null) 
    {
        string adminNumber  = e.Value.ToString();
        int length = Math.Min(6, adminNumber.Length);
        adminNumber =  new string('X', length) + adminNumber.Substring(length);
        e.Value = adminNumber;
        e.FormattingApplied = true;
    }
}

您可以使用
CellFormatting
事件:

private void gridview_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{
    if (e.ColumnIndex == 0 && e.Value != null) 
    {
        string adminNumber  = e.Value.ToString();
        int length = Math.Min(6, adminNumber.Length);
        adminNumber =  new string('X', length) + adminNumber.Substring(length);
        e.Value = adminNumber;
        e.FormattingApplied = true;
    }
}

您可以使用数据库中的直接选择查询,如下所示:

select stuff(column_name, 1, 6, '######') from table_name

然后在gridview中绑定此数据表。

您可以使用数据库中的直接选择查询,如下所示:

select stuff(column_name, 1, 6, '######') from table_name

然后在gridview中绑定这个数据表。

删除了我的,因为迭代单元格赋值没有意义。单元格格式是更优雅的列格式设置方法,而不是用户定义的函数
+1
。。今天我学习了
CellFormatting
;)删除了我的,因为迭代单元格来赋值没有意义。单元格格式是更优雅的列格式设置方法,而不是用户定义的函数
+1
。。今天我学习了
CellFormatting
;)