Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.26;
Скачать: CL | DM;

Вниз

double формат в DBGrid   Найти похожие ветки 

 
Tany   (2009-03-08 13:14) [0]

Подскажите как сделать чтобы значения отображалиси с двумя нулями после запятой в столбце DBGrid - да

Данное поле имеет формат на сервере(firebird) - numeric(15,2)

должно же быть что-то вроде:
DBGrid1.Columns[0].dataformat := "###,## - рублей" ?

что-то не могу найти подобного свойсва, подскажите как правильно.
заранее большое спасибо


 
sniknik ©   (2009-03-08 13:21) [1]

> что-то не могу найти подобного свойсва
ищи не в гриде у колонок, а у полей в датасете.

и кстати если "- рублей"" то должен бы быть не numeric(15,2) а тип типа money (не в курсе что там у firebird-а но что-то денежное должно быть), тогда он в дельфи не будет к double  приводиться а тоже будет "деньгами".


 
Tany   (2009-03-08 14:01) [2]


> sniknik ©   (08.03.09 13:21) [1]

нет там типа money, есть из флоатов: numeric, decimal и double precision , которые в базе хранятся как к примеру 10,00, а в DBGrid отображается как "10"

нет ну должно быть что-то вроде?
DBGrid1.Columns[0].dataformat := "###,## - рублей"


 
sniknik ©   (2009-03-08 15:52) [3]

> нет ну должно быть что-то вроде?
оно и есть, что-то вроде, но только не там "где светлей", а там где его реализовали.


 
MsGuns ©   (2009-03-08 17:28) [4]

TField.DisplayFormat := "0.00" для денюх, "0.##" - для кол-в


 
Tany   (2009-03-08 19:13) [5]


> MsGuns ©   (08.03.09 17:28) [4]
> TField.DisplayFormat := "0.00" для денюх, "0.##" - для кол-
> в


нет такого свойсва!

есть:DisplayName,DisplayText,DisplayLabel,DisplayWidth


 
фыва   (2009-03-08 19:15) [6]


> нет такого свойсва!

А начать F1 на DisplayFormat руки отсохнут?


 
MsGuns ©   (2009-03-08 20:22) [7]

Изучаем TField со всеми нисходящими до полного просветления в голове.


 
Tany   (2009-03-08 21:41) [8]


> MsGuns ©   (08.03.09 20:22) [7]


Ок только сначало нужно сдать работу ;)

вот подскажите как теперь прикрутить сюда заголовки вместо названия полей в DBGrid


---------------------------------------------------------------
 public
   a_ident: Integer;
 end;

var
 OplaF: TOplaF;
 pl_sum: TFloatField;
 pl_data: TDateTimeField;
 ident_title: TStringField;
implementation

uses Main;

{$R *.dfm}

procedure TOplaF.FormShow(Sender: TObject);
begin

 if(MainF.IBQuery.Active = true) then MainF.IBQuery.Close;
 MainF.IBQuery.SQL.Clear;
 MainF.IBQuery.SQL.Add("select p2.ident_title, p1.pl_data, p1.pl_sum from oplata p1, ident_opl p2 where ");
 MainF.IBQuery.SQL.Add("p1.pl_ident=:pl_ident and(p2.ident_id = p1.pl_nazn) order by p1.pl_data");
 MainF.IBQuery.Params[0].AsInteger := a_ident;

 ident_title:= TStringField.Create(MainF.IBQuery);

 ident_title.FieldName := "ident_title";
 ident_title.Index := MainF.IBQuery.FieldCount;
 ident_title.DataSet := MainF.IBQuery;
 MainF.IBQuery.FieldDefs.UpDate;

 pl_data:= TDateTimeField.Create(MainF.IBQuery);
 pl_data.FieldName := "pl_data";
 pl_data.Index := MainF.IBQuery.FieldCount;
 pl_data.DataSet := MainF.IBQuery;
 MainF.IBQuery.FieldDefs.UpDate;

 pl_sum:= TFloatField.Create(MainF.IBQuery);
 pl_sum.FieldName := "pl_sum";
 pl_sum.Index := MainF.IBQuery.FieldCount;
 pl_sum.DataSet := MainF.IBQuery;
 pl_sum.DisplayFormat := "##0.00 ãðí";
 MainF.IBQuery.FieldDefs.UpDate;

 MainF.IBQuery.Open;
end;

procedure TOplaF.FormHide(Sender: TObject);
begin
pl_sum.Free; pl_data.Free; ident_title.Free;
end;


 
Anatoly Podgoretsky ©   (2009-03-08 22:04) [9]

> Tany  (08.03.2009 21:41:08)  [8]

Не надо сначала сдавать работу, такая гадость получается.
Снааоа надо учиться, учиться, учиться


 
sniknik ©   (2009-03-08 22:10) [10]

у тебя чего справки нету, ты по каждому свойству поля будешь вопросы задавать?

и нафига все в рантайм? мазохист? в дизайне все делается в несколько кликов мыши + нужные свойства прописать.


 
Tany   (2009-03-08 22:13) [11]


> sniknik ©   (08.03.09 22:10) [10]

как в дизайне, если не секрет?

а то вот еще чуть мазохизма:

 cl := TColumn.Create(DBGrid1.Columns);
 cl.FieldName := "pl_sum";
 cl.Title.Caption := "Сумма";

 cl := TColumn.Create(DBGrid1.Columns);
 cl.FieldName := "ident_title";
 cl.Title.Caption := "Назначение платежа";

 cl := TColumn.Create(DBGrid1.Columns);
 cl.FieldName := "pl_data";
 cl.Title.Caption := "Дата платежа";


 
Tany   (2009-03-08 22:16) [12]


> sniknik ©   (08.03.09 22:10) [10]

в дизайне где можно это задать?
pl_sum.DisplayFormat := "##0.00 руб";


 
MsGuns ©   (2009-03-08 22:37) [13]

А ведь достал (а) уже !
"Кидаешь" какой-нить потомок датасета (например TIBQuery), затем в его св-ве SQL рисуешь запрос, затем жмякаешь на TIBQuery.Active. После этого дважды клякаешь на камом TIBQuery, открывается окно редактора филдов, наводишься на нужный (который типа дробное), в окне инспектора свойств радостно наблюдаешь DisplayFormat, к который суешь курсор и настукиваешь на клаве 0.##

Так доступно, бестолочь ?


 
Плохиш ©   (2009-03-09 11:26) [14]


> Tany   (08.03.09 22:13) [11]

> как в дизайне, если не секрет?

Стоит нанять программиста.



Страницы: 1 вся ветка

Текущий архив: 2009.04.26;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.033 c
2-1237208276
Руслан
2009-03-16 15:57
2009.04.26
Turbo Delphi 2006 Explorer !!!


2-1237193561
igorntk
2009-03-16 11:52
2009.04.26
Как при открытии формы сделать кнопку неактивной?


8-1192964708
homm
2007-10-21 15:05
2009.04.26
Спрашивали тут ;)


15-1235654209
Кто б сомневался
2009-02-26 16:16
2009.04.26
Анабиоз. Сон разума.


3-1219922045
Finjy
2008-08-28 15:14
2009.04.26
заполнение ListView, используя функцию max