Отображаемые значения в формате Delphi DBGrid

Мне нужно отформатировать значения в DBGrid для отображения в определенном формате ex '#,##0.00'. Любая идея, как это сделать?

С уважением, Питер


person Pieter van Wyk    schedule 01.09.2010    source источник


Ответы (2)


Каждое поле в вашем наборе данных имеет два события: OnGetText и OnSetText. Используйте событие OnGetText нужных полей и используйте функцию Format для форматирования значения с использованием маски.

person Eduardo Mauro    schedule 01.09.2010

вы можете использовать свойство DisplayFormat поля для форматирования.

проверить этот образец

TFloatField(YourDataSet.FieldByName('field')).DisplayFormat := '#,##0.00';
person RRUZ    schedule 01.09.2010
comment
Конечно, но событие GetText дает больше гибкости. Например, вы можете использовать разные маски, если значение положительное или отрицательное. - person Eduardo Mauro; 01.09.2010
comment
Если вам нужна гибкость, но если нет, не тратьте время на написание кода для этого. Для положительного/отрицательного примера, если вы читаете документацию, вы заметите разделы поддержки DisplayFormat, разделенные точкой с запятой, для положительных, отрицательных и нулей. Таким образом, вы можете использовать, например: begin qOrdersTotal.DisplayFormat := ',0.00;(,0.00);Zero'; конец; Для получения дополнительной информации см. docs.embarcadero.com/ продукты/rad_studio/delphiAndcpp2009/ - person jachguate; 03.09.2010