-
Не получается сделать форматированный вывод float (ограничить количество знаков после запятой) в DBGrid - выводятся все цифры.
Найденные советы типа " выставить для этого поля свойство DisplayFormat #.## " не удается реализовать, т.к. список полей ADOQuery пуст. Ниже часть кода:
var qry1 : TADOQuery; con1 : TADOConnection; ds1 : TDataSource; dbgrd1 : TDBGrid; ... Amax : single; TableName : string;
begin ..... Form1.qry1.SQL.Clear; Form1.qry1.SQL.Add('SELECT * FROM '+ TableName); Form1.qry1.Active:=True; ...... Form1.qry1.FieldByName('AmpMax').AsFloat := RoundTO(Amax,-3) ; .... end;
-
> т.к. список полей ADOQuery пуст.
Так наполни его.
-
КАК ? Кнопки для добавления полей неактивны, т.е. добавить поле нельзя :(
Версия: т.к. Select выбирает все поля, то до его выполнения название и количество полей неизвестно. Перечисление всех полей в Select поможет?
-
Можно ли определить формат вывода полей в ADOQuery в программе?
-
> P.Golf © (03.10.13 13:32) [2] > КАК ? > Кнопки для добавления полей неактивны, т.е. добавить поле > нельзя :( >
В инспекторе объектов поставь у qry1 Active в True.
-
А что мешает?
Form1.qry1.FieldByName('AmpMax').DisplayFormat:='#.##';
Form1.qry1.FieldByName('AmpMax').AsFloat := RoundTO(Amax,-3) ;
-
В том то и дело, что такого свойства компилятор (Delphi XE v.7.6.1) не знает :(
-
Германн © Для установки qry1.Active = True инспектор объектов требует заполнить свойство SQL. Если в него вставить строку Select .., то все равно поля для редактирования в Fields Editor не появляются
-
> P.Golf © (03.10.13 16:59) [6] > В том то и дело, что такого свойства компилятор (Delphi > XE v.7.6.1) не знает
TFloatField(Form1.qry1.FieldByName('AmpMax')).DisplayFormat:='#.##';
-
Германн ©
Спасибо, добрый человек. Заработало. Где бы я это прочитал? Только почему то вместо 0,123 показывает ,123 ?
-
2 P.Golf © (03.10.13 17:43) [9] Кнопку F1 ты выломал?
-
Cobalt © Обязательно выломаю, если подскажешь где искать
-
> [11] P.Golf © (04.10.13 00:25)
Её нажимать надо, а не выламывать. Подсказываю: DisplayFormat внезвпно.
-
> Только почему то вместо 0,123 показывает ,123 ?
...DisplayFormat:='0.##';
|