Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
ВнизЛишние знаки после запятой при отображ. результ. запр.в DBGreed Найти похожие ветки
← →
linx © (2008-12-04 15:03) [0]Если в ячейку вводится натуральное число - то в таблице так и сохраняется, и, далее так и отображается, если я хочу просмотреть содержимое через DBGreed, а если вводится число дробное, то даже 2 знака после запятой(исходного числа) превращаются в 13, и отображаются соответственно.
← →
MsGuns © (2008-12-04 15:05) [1]TField.DisplayFormat + F1
← →
linx © (2008-12-04 15:31) [2]Ой, если не трудно, как прикрутить его к DBGreed? Я не спец..
← →
linx © (2008-12-04 15:35) [3]Виноват DBGrid..
← →
Сергей М. © (2008-12-04 15:36) [4]А как ты тогда умудрился "прикрутить" DBGrid к DataSource, а DataSource к Query, если ты "не спец" ?
Наверно, все-таки Инспектором Объектов воспользовался ?
← →
Правильный$Вася (2008-12-04 15:42) [5]
> Greed
это жадность
← →
linx © (2008-12-04 16:15) [6]
> А как ты тогда умудрился "прикрутить" DBGrid к DataSource,
> а DataSource к Query, если ты "не спец" ?
у меня была сложная и длинная жизнь.. Когда-то имел некоторую практику.
А где в инспекторе объектов?
← →
KilkennyCat © (2008-12-04 16:30) [7]справа
← →
linx © (2008-12-04 16:50) [8]Может через OnDrawDataCell?
← →
Anatoly Podgoretsky © (2008-12-04 16:53) [9]> linx (04.12.2008 16:15:06) [6]
Дважды щелкни по набору данных, у тебя это Query и добавь все поля, затем сможешь управлять в инспекторе объектов
← →
Сергей М. © (2008-12-04 17:02) [10]
> Может через OnDrawDataCell?
Не трожь грид - он не виноват.
Если хочешь в динамике форматировать вещ.значение, чтобы не трогать дизайн-тайм, то достаточно сразу после открытия запроса назначит соотв.полю набора свой обработчик OnGetText
← →
linx © (2008-12-04 17:22) [11]У меня запрос формируется динамично, после выполнения запроса, полагаю, надо свойство поля задать
Должна быть строка типа DataModule7.IBQuery22.Fields.FieldByName("cenaopt1").DisplayFormat:="#.00";
или DataModule7.IBQuery22["cenaopt1"].DisplayFormat:="#.00";
Но при компиляции получаю ошибку..
← →
linx © (2008-12-04 17:40) [12]procedure TDataModule7.IBQuery22CenaOpt1GetText(Sender: TField;
var Text: String; DisplayText: Boolean);
begin
IBQuery22.FieldByName("CenaOpt1").DisplayText:=FloatToStr(FormatFloat(IBQuery["C enaOpt1"], "0,00"));
end;
Так?
← →
linx © (2008-12-04 17:51) [13]procedure TDataModule7.IBQuery22CenaOpt1GetText(Sender: TField;
var Text: String; DisplayText: Boolean); // TFloatField
begin
IBQuery22.FieldByName("CenaOpt1").DisplayFormat:="#,00";
end;
Получаю:
[Error] Unit7.pas(573): Undeclared identifier: "DisplayFormat"
← →
linx © (2008-12-04 19:14) [14]Anatoly Podgoretsky © (04.12.08 16:53) [9]
Дважды щелкни по набору данных, у тебя это Query и добавь все поля, затем сможешь управлять в инспекторе объектов
После изменения значения DisplayFormat для нужных полей в инспекторе объектов добиться правильного отображения чисел в таблице удалось, но изменить значение DisplayFormat через строчку типа IBQuery22.FieldByName("CenaOpt1").DisplayFormat:="#,00"; так и не получилась.. :(
← →
Anatoly Podgoretsky © (2008-12-04 19:40) [15]> linx (04.12.2008 17:51:13) [13]
Все правильно у TField нет такого свойства.
← →
MsGuns © (2008-12-04 23:21) [16]>linx © (04.12.08 19:14) [14]
>значение DisplayFormat через строчку типа IBQuery22.FieldByName("CenaOpt1").DisplayFormat:="#,00"; так и не получилась.. :(
Нада "#.00"
Это недокументированная, секретная фича, зашитая борландами в делфу по спецзаказу ЦРУ США.
Она еще, кстати, доступна не для всех, а только для наследников TNumericField, но для Вашего случая подойдет :)
← →
Германн © (2008-12-05 01:11) [17]
> MsGuns © (04.12.08 23:21) [16]
Флеймим"с?
← →
MsGuns © (2008-12-05 01:38) [18]>Флеймим"с?
Это где - ткни носом
← →
Германн © (2008-12-05 01:46) [19]
> Это где - ткни носом
> Нада "#.00"
> Это недокументированная, секретная фича, зашитая борландами
> в делфу по спецзаказу ЦРУ США.
← →
MsGuns © (2008-12-05 01:55) [20]А ну докажи, что это не правда ;)
← →
Германн © (2008-12-05 02:21) [21]Да пошёл бы ты!
← →
linx © (2008-12-05 09:29) [22]
> Anatoly Podgoretsky © (04.12.08 19:40) [15]
>
> > linx (04.12.2008 17:51:13) [13]
>
> Все правильно у TField нет такого свойства.
А как же это:
"MsGuns © (04.12.08 15:05) [1]
TField.DisplayFormat + F1
"
?
А у чего это свойство есть???
← →
Сергей М. © (2008-12-05 09:33) [23]
> linx © (05.12.08 09:29) [22]
Ты F1 нажимал ?
← →
linx © (2008-12-05 09:40) [24]TNumericField.DisplayFormat так правильно?
А как объяснить делфи что поле "CenaOpt1" - это TNumericField?
Вопросы ламерские наверно.. Уж извините..
← →
linx © (2008-12-05 09:40) [25]Ты F1 нажимал ?
Да
← →
Сергей М. © (2008-12-05 09:42) [26]TNumericField(IBQuery22.FieldByName("CenaOpt1")).DisplayFormat:="#,00";
Это называется приведение типа.
← →
linx © (2008-12-05 09:45) [27]Сергей М.
Спасибо!!!
← →
Amoeba © (2008-12-05 11:02) [28]
> Сергей М. © (05.12.08 09:42) [26]
>
> TNumericField(IBQuery22.FieldByName("CenaOpt1")).DisplayFormat:
> ="#,00";
>
> Это называется приведение типа.
>
А если это поле не TNumericField? Что получим при прямом приведении без проверки типа?
Тогда уж как минимум:(IBQuery22.FieldByName("CenaOpt1") as TNumericField).DisplayFormat:="#,00";
будет исключение.
А так правильно:if IBQuery22.FieldByName("CenaOpt1") is TNumericField then
TNumericField(IBQuery22.FieldByName("CenaOpt1")).DisplayFormat:="#,00";
← →
Сергей М. © (2008-12-05 11:07) [29]
> А если это поле не TNumericField?
В его случае точно TNumericField.
← →
Amoeba © (2008-12-05 12:02) [30]
> Сергей М. © (05.12.08 11:07) [29]
>
>
> > А если это поле не TNumericField?
>
>
> В его случае точно TNumericField.
Тогда, конечно, другое дело, раз тип поля программисту заведомо известен.
В данном случае хотелось дать понять автору вопроса, что прямое приведение не всегда допустимо.
← →
Anatoly Podgoretsky © (2008-12-05 12:04) [31]> Amoeba (05.12.2008 12:02:30) [30]
Необязательно заранее знать, это вполне можно узнать в рантайм, после выполнения заранее неизвестного запроса.
← →
MsGuns © (2008-12-06 02:15) [32]С запятой однако работать не будет
Суважением. Чукча.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.005 c