简体   繁体   中英

Delphi FireDAC TFDQuery DisplayFormat

I have some problems related to FormatOptions . I have a sales screen and after migrating to Firedac (Previous was IBO ), full values (ex .: 100.00, 52.00) began to appear like this:

(IBO) 100.00 52.00

(FireDAC) 100 52

I tried to make use of MapRules using the following configuration:

SourceDataType dtBCD
TagetDataType dtBCD
PrecMax 18
PrecMin 1
ScaleMax 5
ScaleMin 0

I actived the OwnMapRules option, but the display remains the same. So I tried to make use of fmtDisplayNumeric property . Informing a ',0.00' fix my problem in parts, why limit the display to two decimals places, but there are fields that have more than 2 decimal places. Also, my Integer fields are showing decimal places on the display.

I tried to create a rule in MapRules for Integer fields, but the problem remains.

What should I do in such cases?

Thanks in advance!

MapRules had nothing to-do with display formatting. It translates a driver data type into the data type you want to use in the application and vice versa.

The IBO components have a specific behaviour for numeric fields. They treat it as a currency field, depending on the numeric scale. See IBO documentation .

By default, Firedac uses the Regional Settings to format the output. You can read how to change this behaviour in this paper .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM