![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
double формат в DBGrid [D7, XP]
Tany © (2009-03-08 13:14:00)Подскажите как сделать чтобы значения отображалиси с двумя нулями после запятой в столбце DBGrid - да
Данное поле имеет формат на сервере(firebird) - numeric(15,2)
должно же быть что-то вроде:
DBGrid1.Columns[0].dataformat := '###,## - рублей' ?
что-то не могу найти подобного свойсва, подскажите как правильно.
заранее большое спасибо
Плохиш (2009-03-09 11:26:00) [1]
> Tany (08.03.09 22:13) [11]
> как в дизайне, если не секрет?
Стоит нанять программиста.
MsGuns (2009-03-08 22:37:00) [2]А ведь достал (а) уже !
"Кидаешь" какой-нить потомок датасета (например TIBQuery), затем в его св-ве SQL рисуешь запрос, затем жмякаешь на TIBQuery.Active. После этого дважды клякаешь на камом TIBQuery, открывается окно редактора филдов, наводишься на нужный (который типа дробное), в окне инспектора свойств радостно наблюдаешь DisplayFormat, к который суешь курсор и настукиваешь на клаве 0.##
Так доступно, бестолочь ?
Tany (2009-03-08 22:16:00) [3]
> sniknik © (08.03.09 22:10) [10]
в дизайне где можно это задать?
pl_sum.DisplayFormat := '##0.00 руб';
Tany (2009-03-08 22:13:00) [4]
> 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 := 'Дата платежа';
sniknik (2009-03-08 22:10:00) [5]у тебя чего справки нету, ты по каждому свойству поля будешь вопросы задавать?
и нафига все в рантайм? мазохист? в дизайне все делается в несколько кликов мыши + нужные свойства прописать.
Anatoly Podgoretsky (2009-03-08 22:04:00) [6]> Tany (08.03.2009 21:41:08) [8]
Не надо сначала сдавать работу, такая гадость получается.
Снааоа надо учиться, учиться, учиться
Tany (2009-03-08 21:41:00) [7]
> 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;
MsGuns (2009-03-08 20:22:00) [8]Изучаем TField со всеми нисходящими до полного просветления в голове.
фыва (2009-03-08 19:15:00) [9]
> нет такого свойсва!
А начать F1на DisplayFormatруки отсохнут?
Tany (2009-03-08 19:13:00) [10]
> MsGuns © (08.03.09 17:28) [4]
> TField.DisplayFormat := '0.00' для денюх, '0.##' - для кол-
> в
нет такого свойсва!
есть:DisplayName,DisplayText,DisplayLabel,DisplayWidth
MsGuns (2009-03-08 17:28:00) [11]TField.DisplayFormat := '0.00' для денюх, '0.##' - для кол-в
sniknik (2009-03-08 15:52:00) [12]> нет ну должно быть что-то вроде?
оно и есть, что-то вроде, но только не там "где светлей", а там где его реализовали.
Tany (2009-03-08 14:01:00) [13]
> sniknik © (08.03.09 13:21) [1]
нет там типа money, есть из флоатов: numeric, decimal и double precision , которые в базе хранятся как к примеру 10,00, а в DBGrid отображается как "10"
нет ну должно быть что-то вроде?
DBGrid1.Columns[0].dataformat := '###,## - рублей'
sniknik (2009-03-08 13:21:00) [14]> что-то не могу найти подобного свойсва
ищи не в гриде у колонок, а у полей в датасете.
и кстати если "- рублей'" то должен бы быть не numeric(15,2) а тип типа money (не в курсе что там у firebird-а но что-то денежное должно быть), тогда он в дельфи не будет к double приводиться а тоже будет "деньгами".