Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.10.2013, 07:57
Zhigalov Zhigalov вне форума
Начинающий
 
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
По умолчанию DisplayFormat в DBGrid

Может у кого есть идея. Как можно это сделать меньшим кодом.
А то если будет много колонок, то станет совсем куча однотипного кода.
Код:
ColCol:=DBGrid1.Columns.Count;
case ColCol of
  3:    TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
  4:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00'; end;
  5:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[4]).DisplayFormat:='0.00';end;
  6:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[4]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[5]).DisplayFormat:='0.00';end;
  7:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[4]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[5]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[6]).DisplayFormat:='0.00';end;
  8:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[4]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[5]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[6]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[7]).DisplayFormat:='0.00';end;
  9:    begin TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[2]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[3]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[4]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[5]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[6]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[7]).DisplayFormat:='0.00';
        TNumericField(DataModule2.QueryK1.Fields[8]).DisplayFormat:='0.00';end;
end;
Ответить с цитированием
  #2  
Старый 31.10.2013, 08:15
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Можно примерно так сократить - добавить процедуру
Код:
procedure sdf(ds: integer);
 var
  i: integer;
 begin
  for i:= 2 to ds do
   TNumericField(DataModule2.QueryK1.Fields[i]).DisplayFormat:='0.00';
 end;
ну а в коде
Код:
case ColCol of
  3: sdf(2);
  4: sdf(3);
  5: sdf(4);
  6: sdf(5);
  7: sdf(6);
  8: sdf(7);
  9: sdf(8);
end;

З.Ы.

Или сразу выполнять, без проверки кейсом: sdf(ColCol-1);

Последний раз редактировалось Alegun, 31.10.2013 в 08:20. Причина: дополнение
Ответить с цитированием
Этот пользователь сказал Спасибо Alegun за это полезное сообщение:
Zhigalov (31.10.2013)
  #3  
Старый 31.10.2013, 08:32
Zhigalov Zhigalov вне форума
Начинающий
 
Регистрация: 27.05.2009
Сообщения: 100
Репутация: -1277
По умолчанию

Спасибо то, что надо.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:10.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter