Delphi FireDAC TFDQuery DisplayFormat
У меня есть некоторые проблемы, связанные с FormatOptions
, У меня есть экран продаж и после перехода на Firedac
(Предыдущая была IBO
), полные значения (напр.: 100,00, 52,00) начали появляться так:
(IBO) 100,00 52,00
(FireDAC) 100 52
Я пытался использовать MapRules
используя следующую конфигурацию:
SourceDataType dtBCD
TagetDataType dtBCD
PrecMax 18
PrecMin 1
ScaleMax 5
ScaleMin 0
Я активировал OwnMapRules
вариант, но дисплей остается прежним. Поэтому я попытался использовать fmtDisplayNumeric property
, Информирование "0,00" решает мою проблему по частям, зачем ограничивать отображение двумя десятичными разрядами, но есть поля, которые имеют более 2 десятичных разрядов. Кроме того, мои поля Integer показывают десятичные разряды на дисплее.
Я пытался создать правило в MapRules для полей Integer, но проблема остается.
Что мне делать в таких случаях?
Заранее спасибо!
1 ответ
MapRules не имеет ничего общего с форматированием отображения. Он переводит тип данных драйвера в тип данных, который вы хотите использовать в приложении, и наоборот.
Компоненты IBO имеют специфическое поведение для числовых полей. Они рассматривают это как поле валюты, в зависимости от числовой шкалы. Смотрите документацию IBO.
По умолчанию Firedac использует региональные настройки для форматирования вывода. Вы можете прочитать, как изменить это поведение в этой статье.