При работе в DataGridView данные с типом Decimal отображаются с запятой, можно ли настроить проект или DataGridView, так что бы он работал с точками?
P.S. Не меняя при этом национальные настройки операционной системы.
Есть несколько вариантов.
Во-первых, можно задать новую культуру для текущего потока. Делается это так:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Здесь выбрана культура, у которой используется точка в качестве десятичного разделителя. При этом, естественно, будет использованы настройки этой культуры для всех типов данных: дата-время, валюта, проценты и прочее.
Возможно, вас устроит универсальная инвариантная культура:
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture;
Если же нужна конкретная культура, но лишь с одной изменённой настройкой, то:
var myCulture = new CultureInfo("ru-RU");
myCulture.NumberFormat.NumberDecimalSeparator = ".";
Thread.CurrentThread.CurrentCulture = myCulture;
Во-вторых, можно задать настройки формата или культуру только для одного компонента. См. FormatProvider.
dataGridView.Columns[2].DefaultCellStyle.FormatProvider = myCulture;
В примере меняются настройки определённой колонки в гриде. Культуру, естественно, можно выбрать любую, как в примерах выше.
Также обратите внимание на свойство Format. Оно позволяет, например, гибко задавать настройки вывода даты-времени: скажем, только месяц показать из типа DateTime. Для decimal оно особо неприменимо.
Виртуальный выделенный сервер (VDS) становится отличным выбором
При извлечении имени Action из TestCase я получаю это:
Строю график, отражающий динамику прохождения тестов пользователемНа оси Y отражается коэффициент(результат), на Х - дата выполнения