powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Формат отображения столбца в cxGrid
12 сообщений из 12, страница 1 из 1
Формат отображения столбца в cxGrid
    #39524383
mbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbb
Гость
Хочется чтобы целые значения отображались как 100 000
А Float как 100 000.95
Положение столбцов заранее не знаю
Придумал вот это, но иногда для целых значений ошибается, считает их float.
Может, как-то проще и надёжнее можно?

Код: pascal
1.
2.
3.
4.
5.
6.
7.
DBTableView.DataController.CreateAllItems;
for i := 0 to DBTableView.ColumnCount - 1 do
    if (DBTableView.DataController.DataSet.Fields[i]) is TIntegerField then
      (DBTableView.DataController.DataSet.Fields[i] as TNumericField).DisplayFormat := ',0'
    else
      if (DBTableView.DataController.DataSet.Fields[i]) is TFloatField then
        (DBTableView.DataController.DataSet.Fields[i] as TNumericField).DisplayFormat := ',##0.00';
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524390
Фотография JayDi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Передавать типы полей заранее. Если датасет определил поле как дробное -- значит на то были причины. Например, в UniDAC есть DataMapping, где можно вручную выставить типы полей как раз для таких проблемных случаев.
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524396
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Положение столбцов заранее не знаю
Завтра в запросе нужно будет передать служебный столбец. Его тоже отображать по такому формату ?
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524408
mbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbb
Гость
JaDi,спасибо. Так тоже делал, в заголовке запроса служебный комментарий с описанием типа полей. Нормально получается. Захотелось большей "динамичности"
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524409
mbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbb
Гость
DimaBr, что будет завтра - мне же и решать, мне же и выкручиваться. Пока вот так надо
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524416
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то проще...
Код: pascal
1.
2.
3.
4.
5.
6.
for i := 0 to DBTableView.ColumnCount - 1 do
  with DBTableView.DataController.DataSet do
    case Fields[i].DataType of
      ftSmallint, ftInteger, ftWord: TNumericField(Fields[i]).DisplayFormat := ',0';
      ftFloat, ftCurrency: TNumericField(Fields[i]).DisplayFormat := ',##0.00';
    end;
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524422
mbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbb
Гость
DimaBr, здорово, спасибо. И в самом деле ...
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524723
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В дизайне на колонке назначь тип Properties и в нем можно формат отображения настроить
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524735
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Энди, да ты гений !!!
А первая строчка из кода тебе ни о чём не говорит ?
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524792
mbb,

#,#,0.##
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39524932
энди
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimaBrЭнди, да ты гений !!!
А первая строчка из кода тебе ни о чём не говорит ?

Ну по твоему коду я вижу что ты играешься свойствами датасета, я же всего лишь показал как сделать это через сам грид, а не датасет
...
Рейтинг: 0 / 0
Формат отображения столбца в cxGrid
    #39525748
mbb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mbb
Гость
Взял за основу код, предложенный уважаемым DimaBr, который (код!) нагляднее того, что я сочинил,спасибо ещё раз. Результат в моём случае получился тот же. "Нехороший" столбец с нежелательной формой отображения целого значения как float - под ним лежит ораклёвый столбец NUMBER(10,0), так что любезный Jadi похоже был прав, говоря: "Если датасет определил поле как дробное -- значит на то были причины".
Благодарю всех откликнувшихся
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Формат отображения столбца в cxGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]