У меня есть идентификатор из 10 цифр, например: 1023456789, и мне нужно установить формат DataGridView, чтобы он был там "102-34567 add. 89".
String.Format("###-##### add. ##") не работает. Итак, как это сделать?
String.Format
работает. Его работа заключается в форматировании нестрокового значения в виде строки. Он не работает со строковыми входами и не предназначен для этого. Что вы на самом деле пробовали?
Предполагая, что это действительно число, вы просто назначаете спецификатор формата свойству DefaultCellStyle.Format столбца. Вы не звоните String.Format сами. Сетка вызывает ToString данные и передает указанный вами спецификатор формата.
Если символы ID length is always 10, вы можете использовать String.Insert(Int32, String)
string s = "1023456789";
string resultt = s.Insert(3, "_").Insert(9, " add. "); //"102-34567 add. 89"
Это не сработает, если ввод на самом деле представляет собой 10-значное целое число. Это вообще не будет работать с DataGridView
var result = 1023456789.ToString("###-##### add\\. ##");
Однако это для DataGridView, поэтому вообще не должно быть никаких String.Format или ToString вызовов.
Вы можете сделать это в событии CellFormatting, если хотите. В любом случае строка формата будет одинаковой.
Исходные данные на самом деле число или это string?