Всем известно, что мы можем делать отчеты в MS Word. Но вот незадача - у дат и сумм отсутствует как таковое локальное форматирование. Перспектива что-то корячить на макросах не совсем правильная, поэтому, коллеги, я бы рекомендовал подправить схему ReportService следующим образом:
строки 1544-1558:
private string FormatDecimalValue(decimal value) {
string formattedValue = string.Empty;
string separator = SysSettings.GetValue(userConnection, "ReportDecimalSeparator", string.Empty);
if (!string.IsNullOrEmpty(separator)) {
NumberFormatInfo numberFormatInfo = new NumberFormatInfo() {
NumberDecimalSeparator = separator,
NumberGroupSeparator = string.Empty
};
formattedValue = value.ToString("N", numberFormatInfo);
} else {
formattedValue = value.ToString();
}
return formattedValue;
}
вот почему вместо этого нельзя нормально использовать настройки культуры? ну или специальную системную настройку сделать? Чтобы пользователь получал в отчете тот формат, который нужен. А пока поставлена заплатка:
// formattedValue = value.ToString("N", numberFormatInfo);
formattedValue = value.ToString("N", CultureInfo.CreateSpecificCulture("cs-CZ"));
с датами тоже самое, строки 1528-1532
Теперь идея: создать системную настройку, позволяющую отображать даты и числа в вордовых отчетах в соответствии с культурой пользователя.
Понравилась ли вам эта идея?
Здравствуйте!
Спасибо за проявленный интерес. Зарегистрировали ваше пожелание по развитию приложения.