Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2010, 15:22   #1
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию Можно ли программно установить свойство поля DisplayFormat ?

Уважаемые коллеги!
Столкнулся с тем, что надо очень быстро поменять формат отображения на экране у очень большого количества полей (на экране должно выглядеть примерно как 1 234 567,25). Как сделать с помощью среды Delphi - известно. Можно ли то же самое сделать программно ?
Что-то типа Table1........DisplayFormat:='### ### ###.00'
Изображения
Тип файла: jpg Формат_поля.jpg (16.4 Кб, 233 просмотров)
М_Виктор вне форума Ответить с цитированием
Старый 11.01.2010, 16:56   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Можно. ...DisplayFormat := ',#.00';
Сам ведь и написал.
Только много "решеток" ни к чему. Запятая в маске - делитель групп цифр по три (каким символом разделяются зависит от языковых установок в ОС).
Скандербег вне форума Ответить с цитированием
Старый 12.01.2010, 11:54   #3
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

Возможно, я не точно задал свой вопрос.
Нужно, чтобы при просмотре УЖЕ ИМЕЮЩЕЙСЯ (а не вновь создаваемой базы) в DBGrid цифровые поля имели вид 1 234 567,45.

Выражение типа Table1.FieldByName('mama').DisplayFormat:='###.00' неправильно
М_Виктор вне форума Ответить с цитированием
Старый 12.01.2010, 12:29   #4
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

При чем здесь база данных, если за отображение в нужном формате отвечает DataSet.
Варианты:
Код:
1.  Table1Metr.DisplayFormat := ',#.00';
2.  TFloatField(Table1.FieldDefs.Items[0]).DisplayFormat := ',#.00';
3.  TFloatField(Table1.FieldByName('metr')).DisplayFormat := ',#.00';
Скандербег вне форума Ответить с цитированием
Старый 12.01.2010, 13:36   #5
М_Виктор
Пользователь
 
Регистрация: 18.09.2009
Сообщений: 49
По умолчанию

Цитата:
Сообщение от Скандербег Посмотреть сообщение
При чем здесь база данных, если за отображение в нужном формате отвечает DataSet.
Варианты:
Код:
1.  Table1Metr.DisplayFormat := ',#.00';
2.  TFloatField(Table1.FieldDefs.Items[0]).DisplayFormat := ',#.00';
3.  TFloatField(Table1.FieldByName('metr')).DisplayFormat := ',#.00';
Огромное спасибо !

Вариант №3 TFloatField(Table1.FieldByName('mmm ')).DisplayFormat := ',#.00' для меня подходит идеально.
Вариант №2 TFloatField(Table1.FieldDefs.Items[0]).DisplayFormat := ',#.00' в моем случае тоже работоспособен
М_Виктор вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GPRS. Можно ли установить связь, не зная IP? Suter Работа с сетью в Delphi 5 28.02.2009 06:46
Каким образом можно установить предел?? Xander Общие вопросы Delphi 4 23.11.2008 10:27
Можно ли программно переименовать папку Rusl92 Общие вопросы Delphi 3 13.09.2008 12:52
Программно установить курсор мыши в браузере IE, и кликнуть в окне браузера Vladimir K. Общие вопросы Delphi 13 19.01.2008 17:07
Как можно установить ActiveX компоненты на D2006 D@rk M@k Свободное общение 0 08.01.2008 06:56