Currency в цветном DBGride
вопрос простой - в DBGride делаю разноцветные строки через DBGridDrawColumnCell, все нормально кроме значений типа Currency - они не форматируются так как должны, то есть вместо $2,500.00 отображается просто 2500.00.
Нигде материала про это в русском инете нет, что реально можно сделать?
вместо
DBGrid1->Canvas->TextOut(Rect.Right-2-
DBGrid1->Canvas->TextWidth(Column->Field->Text),
Rect.Top+2,Column->Field->Text);
залепил
DBGrid1->Canvas->TextOut(Rect.Right-2-
DBGrid1->Canvas->TextWidth(FloatToStrF((Column->Field->AsFloat), ffCurrency,18,2)),
Rect.Top+2, FloatToStrF((Column->Field->AsFloat), ffCurrency,18,2));
хотя фактически это означает что ВСЕ цифровые поля будут выводиться как currency, потому те что не денежные надо поменять на Alpha (:))
не знаю уж правильно или нет, хотелось бы услышать хоть какое-то мнение )))))
Цитата:
хотелось бы услышать хоть какое-то мнение
Сам я с Currency не работал, но помимо FloatToStrF + ffCurrency вот что есть в хелпе:
тип данных Currency
свойство TField::AsCurrency
функция CurrToStrF
Цитата:
ВСЕ цифровые поля будут выводиться как currency, потому те что не денежные надо поменять на Alpha
А каком формате база? Предполагаю, что Paradox (ибо Alpha). Там действительно типа данных Currency нет.
Стало быть в обработчике DrawColumnCell хитрое форматирование надо только для полей с определенным наименованием делать.
база в парадоксе - совершенно правильно. Если определить конкретные поля, то получается то, что надо. Спасибо за мнение.