Форум: "Начинающим";
Текущий архив: 2009.04.26;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c