Форум: "Потрепаться";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизКак реализовать вывод "р.", "$", в гриде? Найти похожие ветки
← →
guest_Dmitry (2004-08-18 08:52) [0]Понадобилось выводить в гриде суммы в нескольких валютах, т.е. 1500р., 300$ и т.д. Подскажите, пожалуйста, как лучше реализовать это.
← →
Мюмзик в мове (2004-08-18 09:01) [1]реализуй у полей свойства OnGetText
← →
Anatoly Podgoretsky © (2004-08-18 09:01) [2]А грид, это что такое?
← →
Мюмзик в мове (2004-08-18 09:02) [3]Anatoly Podgoretsky ©
наверное производная гриба и гида
← →
guest_Dmitry (2004-08-18 09:03) [4]>Мюмзик в мове (18.08.04 09:01) [1]
ок, сейчас попробую..
>Anatoly Podgoretsky © (18.08.04 09:01) [2]
имел в виду DBGrid.
← →
guest_Dmitry (2004-08-18 09:55) [5]Может чего не так делаю, но когда пишу:
procedure TForm1.pFIBDataSet1ICOSTGetText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
if pFIBDataSet1ICOST.AsFloat < 50 then
pFIBDataSet1ICOST.DisplayFormat := "#,##0.00р" else
pFIBDataSet1ICOST.DisplayFormat := "#,##0.00$";
end;
идет постоянная прорисовка грида..
← →
guest_Dmitry (2004-08-18 09:58) [6]гм... до самого дошло, опять данное событие вызывается... может есть еще какой способ?
← →
KSergey © (2004-08-18 09:59) [7]Меняешь свойство, которое заставляет грид весь перерисовываться.
Надо просто готовый результат присваивать переменной Text, не трогая свойства грида.
← →
guest_Dmitry (2004-08-18 10:04) [8]>KSergey © (18.08.04 09:59) [7]
и обрабатывать событие onPost, чтобы передать в базу значение в формате Float?
← →
KSergey © (2004-08-18 10:06) [9]> [8] guest_Dmitry (18.08.04 10:04)
> и обрабатывать событие onPost, чтобы передать в базу значение
> в формате Float?
Не понял...
← →
guest_Dmitry (2004-08-18 10:09) [10]>KSergey © (18.08.04 10:06) [9]
Б.д. Interbase 6.0. В гриде данные редактируются, в базе хранятся в поле типа numeric(15, 2). Если через переменную Text делать, то при посте в базу будет передаваться текстовое значение.. Или я ошибаюсь?
← →
KSergey © (2004-08-18 10:49) [11]Ошибаетесь
А вот как будет на самом деле (в смысле во время редактировния) - что-то я даже не скажу.
← →
Мюмзик в мове (2004-08-18 10:54) [12]посмотри параметры процедуры и будет понятно, когда какой текст выдавать, чтоб ексепшинов не вылезло
← →
guest_Dmitry (2004-08-18 11:02) [13]>KSergey © (18.08.04 10:49) [11]
>Мюмзик в мове (18.08.04 10:54) [12]
попробовал сейчас в text передавать готовое значение - так и есть, появляется ексепшин, что нужен флоат а не текст. получается все-таки onPost обрабатывать нужно...
← →
Romkin © (2004-08-18 11:07) [14]НУ зачем такие сложности? Сделай вычисляемое поле, его и показывай. А присвоение значения ему - в OnCalcFields. И все.
← →
Мюмзик в мове (2004-08-18 11:09) [15]guest_Dmitry
получается все-таки onPost обрабатывать нужно...
не, лучше сделать обработчик на OnPostError )
--
мне бы ваши мучения
← →
Bless © (2004-08-18 11:14) [16]Сделал простенький пример. Вроде бы все работает.
Не подойдет?
Это текст обработчика OnGetTextif displaytext then
text:=q.FieldByName("money").AsString+"$"
else text:= q.FieldByName("money").AsString;
← →
guest_Dmitry (2004-08-18 11:23) [17]>Romkin © (18.08.04 11:07) [14]
это идея, сейчас попробую...
>Bless © (18.08.04 11:14) [16]
делал я так, при посте в базу text сыпется, а нужен float
← →
Bless © (2004-08-18 11:25) [18]
> делал я так, при посте в базу text сыпется, а нужен
> float
Странно. У меня в примере Money - целого типа и все нормально.
А приведи-ка свой код обработчика
← →
guest_Dmitry (2004-08-18 11:29) [19]Text := FloatToStr(pFIBDataSet1ICOST.AsFloat) + "$";
← →
Bless © (2004-08-18 11:33) [20]
> Text := FloatToStr(pFIBDataSet1ICOST.AsFloat) + "$";
Это немножко отличается от моего, эге ж?
Попробуй как у меня
if DisplayText then
Text := pFIBDataSet1ICOST.AsString + $"
else
Text := pFIBDataSet1ICOST.AsString;
Правда так значок на время редактирования поля исчезает.
← →
Danilka © (2004-08-18 11:33) [21]Самый лучший вариант, на мой взгляд - отдельная колонка отображающая код валюты.
← →
guest_Dmitry (2004-08-18 11:38) [22]>Bless © (18.08.04 11:33) [20]
сейчас попробую...
>Danilka © (18.08.04 11:33) [21]
на самом деле так оно и есть - отдельная колонка с кодом валюты. Только выглядит это как-то не совсем хорошо...
← →
Мюмзик в мове (2004-08-18 11:40) [23]FloatToStr(pFIBDataSet1ICOST.AsFloat)
чувствуются попытки автора усложнить сущее
← →
КаПиБаРа © (2004-08-18 11:42) [24]
> Понадобилось выводить в гриде суммы в нескольких валютах,
> т.е. 1500р., 300$
А как вместо 300$ написать 9000р.?
По моему нужно писать в разные колонки разные валюты или в одной колонке сумму в другой тип валюты.
← →
guest_Dmitry (2004-08-18 11:44) [25]>Мюмзик в мове (18.08.04 11:40) [23]
каюсь, есть такое... :)
>КаПиБаРа © (18.08.04 11:42) [24]
осталась самая малось - убедить директора в этом...
← →
guest_Dmitry (2004-08-18 12:25) [26]>Bless © (18.08.04 11:33) [20]
спасибо, действительно работает.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.047 c