Topic: Глюк форматирования числового значения из запроса

Обнаружил интересный глюк:
Выводимые в TableGrid числовые данные форматирую под деньги:  TNxNumberColumn(Frm1.TableGrid1.Columns[1]).FormatMask := '#,##0.00'
Число выводится как положено, например, 123 456,00
Однако, если результат запроса в первой строке содержит вместо числа значение NULL (т.е. в БД не было записано число), то нужное форматирование не включается, и все последующие строки с числами выводятся как 123456,0 (без пробелов и с одним нулем).

Re: Глюк форматирования числового значения из запроса

Числовое значение выводится с помощью вычисляемого поля?


Если да, то дело в том, что программа не может заранее знать, какой тип данных ожидается в вычисляемом поле, поэтому он определяется по первой записи, если первая запись не содержит число, значит колонка не может быть числовой, соотвественно форматирование работать не будет.


Можете сделать так, что вычисляемое поле будет выводить ноль, если значение пустое, используя конструкцию IFNULL, например


IFNULL(fieldname, 0)
Dmitry.