Vinodh Muthusamy Ответов: 2

Маска одного столбца в datatable в C#


У меня есть datatable для просмотра в gridview. Теперь мне нужно замаскировать 1-ю 6-значную цифру содержимого столбца "AdminNumber" на "XXXXXX895".

DataTable Input:

AdminNumber Имя
245637895 Шам
124563789 ОЗУ

Мне нужен вывод данных как:

AdminNumber Имя
XXXXXX895 обман
XXXXXX789 ОЗУ


Я пробовал, но я получаю форматирование опции string:

gridview.DataSource = dtSource;
     gridview.Columns[0].FormatString = "######";


Я получаю неправильный вывод как

AdminNumber Имя
XXXXXXXXX обман
ХХХХХХХХХ ОЗУ

Что я уже пробовал:

gridview.DataSource = dtSource;
     gridview.Columns[0].FormatString = "######";

0x01AA

Может быть, сделать это лучше в вашем SQL allready, если это возможно?

2 Ответов

Рейтинг:
1

Maciej Los

В дополнение к решению№1 по Джерри Шмитц[^], я хотел бы привести пример C#, как создать замаскированный столбец ;)

dt.Columns.Add("MaskedNumber", typeof(string));
dt.Columns["MaskedNumber"].Expression = "'XXX-XX-'+SUBSTRING(CONVERT(Number, System.String),6,4)";


результат:
Number    FName  LastName MaskedNumber
781637895 sham   C        XXX-XX-7895 
558563789 Ram    M        XXX-XX-3789 


Наконец, у вас есть, чтобы скрыть и практическое руководство по column[0] ;)