Components for Delphi and C++ Builder.

Перейти в английский форум
Перейти на EhLib.com
Текущее время: 20 апр 2024, 07:24

Часовой пояс: UTC




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Ошибка форматирования Footer'a
СообщениеДобавлено: 25 окт 2022, 05:54 
Не в сети

Зарегистрирован: 06 мар 2012, 04:41
Сообщений: 128
Добрый день
Delphi 10.4.2 EhLib 10.2.34

1) Берем любой грид без группировки (например, DEMO1 вкладка Master/Detale)
2) Колонке ItemsTotal в Footer в DisplayFormat пишем '# ###.###'
3) имеем пробелы после запятой, отсутствие разделитей разрядов, сдвиги влево


Вложения:
Комментарий к файлу: сдвиг влево появляется
Image 003.png
Image 003.png [ 5.76 KiB | Просмотров: 763 ]
Image 002.png
Image 002.png [ 12.8 KiB | Просмотров: 764 ]
Image 001.png
Image 001.png [ 20.4 KiB | Просмотров: 764 ]
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Ошибка форматирования Footer'a
СообщениеДобавлено: 25 окт 2022, 18:58 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

Для разделителя разрядов вроде бы используется запятая.
'#,###.###'

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Ошибка форматирования Footer'a
СообщениеДобавлено: 26 окт 2022, 01:48 
Не в сети

Зарегистрирован: 06 мар 2012, 04:41
Сообщений: 128
EhLibSupport писал(а):
Добрый день.

Для разделителя разрядов вроде бы используется запятая.
'#,###.###'


Нет, без запятых. Для DisplayFormat я такой использую '# ### ### ##0.00 ;-# ### ### ##0.00 ; ' и он работает правильно.

Если в гриде включена группировка - все нормально с Footer. без группировки в версии 10.2 форматирование Footer сломалось


Вложения:
Image 018.png
Image 018.png [ 12.13 KiB | Просмотров: 743 ]
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Ошибка форматирования Footer'a
СообщениеДобавлено: 26 окт 2022, 11:52 
Не в сети

Зарегистрирован: 21 дек 2011, 18:48
Сообщений: 1549
Добрый день.

В футерах грида используется формат TBcd чтобы избежать ошибок округления.

Числовой формат с пробелом '# ### ### ##0.00;-# ### ### ##0.00; ' работает по разному в функциях FormatFloat и FormatBcd.
Delphi 11

Код:
  ShowFormated('# ### ### ##0.00;-# ### ### ##0.00; ');

procedure TForm1.ShowFormated(Format: string);
var
  FloatVal: Extended;
  BcdVal: TBcd;
  s1, s2: String;
begin
  FloatVal := 123456789.12;
  BcdVal := 123456789.12;

  s1 := FormatFloat(Format, FloatVal);
  s2 := FormatBcd(Format, BcdVal);

  ShowMessage(s1 + sLineBreak + s2);
end;

Result:
123 456 789.12
123456789.12

Формат: '#,###.###'
работает одинаково для обеих функций.

Не могу точно сказать это фитча или бага в VCL.

Тут можно предложить несколько вариантов:
1. В исходниках DBGridEh поменять FormatBcd на FormatFloat.
2. Использовать формат '#,###.###' и FormatSettings.ThousandSeparator := ' ';

_________________
Best regards
EhLib support Team


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Ошибка форматирования Footer'a
СообщениеДобавлено: 26 окт 2022, 13:23 
Не в сети

Зарегистрирован: 06 мар 2012, 04:41
Сообщений: 128
EhLibSupport писал(а):
Добрый день.

В футерах грида используется формат TBcd чтобы избежать ошибок округления.

Числовой формат с пробелом '# ### ### ##0.00;-# ### ### ##0.00; ' работает по разному в функциях FormatFloat и FormatBcd.
Delphi 11

Код:
  ShowFormated('# ### ### ##0.00;-# ### ### ##0.00; ');

procedure TForm1.ShowFormated(Format: string);
var
  FloatVal: Extended;
  BcdVal: TBcd;
  s1, s2: String;
begin
  FloatVal := 123456789.12;
  BcdVal := 123456789.12;

  s1 := FormatFloat(Format, FloatVal);
  s2 := FormatBcd(Format, BcdVal);

  ShowMessage(s1 + sLineBreak + s2);
end;

Result:
123 456 789.12
123456789.12

Формат: '#,###.###'
работает одинаково для обеих функций.

Не могу точно сказать это фитча или бага в VCL.

Тут можно предложить несколько вариантов:
1. В исходниках DBGridEh поменять FormatBcd на FormatFloat.
2. Использовать формат '#,###.###' и FormatSettings.ThousandSeparator := ' ';


Пока что выбрал для себя 2й вариант. Таких гридов с отключенной группировкой немного, поменю ручками DisplayFormat у футера...


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB