![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как отобразить дату по маске в Dblookupcombobox? [D7, XP]
ixen © (2010-05-02 10:33:00)Здравствуйте! имеется таблица (Firebird) с полем типа Date. Мне нужно отобразить в DBLookupcombobox эти даты по маске mmmm yyyy, т.е. дата 01.04.2010 должна отобразиться как Апрель 2010. в DBGridEh у поля есть свойство маски и там отображается все как надо, возможно ли сделать такое же отображение в DBLookupcombobox? Пробовал использовать сторонние компоненты lookupcombobox, но не нашел такого свойства. В одном нашел только св-во EditMask, но это не то. Я думаю необходимо использовать функцию FormatDateTime('mmmm yyyy', date) для получения желаемого вида отображения, но куда его вставить в компонент не знаю...
Плохиш (2010-05-03 11:05:00) [1]
> ixen © (02.05.10 18:46) [18]
>
> хотя наверно это не они влияют на русское отображение месяцев
Тексты, зависящие от локализации системы, заполняются при инициализации программы.
Anatoly Podgoretsky (2010-05-02 21:16:00) [2]> ixen (02.05.2010 19:09:19) [19]
Windows
ixen (2010-05-02 19:09:00) [3]
> а теперь попробуй сменить локализацию, а это обычная ситуация.
в смысле сменить локализацию? локализацию программы или винды?
ixen (2010-05-02 18:46:00) [4]хотя наверно это не они влияют на русское отображение месяцев ... я посмотрел файл consts.pas там нет русских месяцев
d@nger (2010-05-02 18:42:00) [5]
> так и отображает? в смысле по русски?
да по русски... я заменил файл consts.dcu и consts.pas на локализованные
Anatoly Podgoretsky (2010-05-02 13:42:00) [6]Ты не ответил на вопрос sniknik, а теперь попробуй сменить локализацию, а это обычная ситуация.
d@nger (2010-05-02 13:18:00) [7]
> Сначала добавь все нужные поля, а только потом новое поле.
новое поле даже не пришлось создавать, я отобразил в Dblookupcombobox реальное поле наложив маску mmmm yyyy
sniknik (2010-05-02 13:05:00) [8]> без всяких formatdatatime
> должна отобразиться как Апрель2010.
так и отображает? в смысле по русски?
Anatoly Podgoretsky (2010-05-02 12:59:00) [9]> ixen (02.05.2010 12:04:10) [10]
Сначала добавь все нужные поля, а только потом новое поле.
ixen (2010-05-02 12:15:00) [10]все получилось... спасибо.. у объекта поля есть свойство displayformat ... указав в нем маску mmmm yyyy дата отображается как надо без всяких formatdatatime ... спасибо всем ...
ixen (2010-05-02 12:12:00) [11]блин.. дошло... add field
ixen (2010-05-02 12:04:00) [12]я кликаю 2 раза по датасету ... выбираю new field ... пишу название его... вот тип поля не знаю что ставить... то ли тип Date или dataset .. затем Field type выбираю data .. но не могу найти как связать то это поле с реальным..
Anatoly Podgoretsky (2010-05-02 12:00:00) [13]> ixen (02.05.2010 11:55:08) [8]
А где у тебя "создании объектов полей"
ixen (2010-05-02 11:55:00) [14]щас открыл букварь.. там написано что при создании объектов полей.. реальные поля становятся недоступны... как сделать объект поле которое содержало бы данные реального поля? чо то в букваре этого не нашел...
Anatoly Podgoretsky (2010-05-02 11:52:00) [15]> ixen (02.05.2010 11:39:06) [6]
Ты хочешь сказать, что система ошибается, а ты прав?
ixen (2010-05-02 11:39:00) [16]сейчас пытаюсь сделать вычисляемое поле... но выходит ошибка мол неизвестное поле born_date, хотя оно точно есть...
procedure TFmain.employee_dsetCalcFields(DataSet: TDataSet);
begin
maskdate.Value:=formatdatetime('mmmm yyyy', DataSet.fieldbyname('born_date').AsDateTime);
end;
ixen (2010-05-02 11:37:00) [17]так то я сделал проверку на ввод дат.. и поэтому в таблице не должно быть несколько апрельских дат одного года...
Правильный$Вася (2010-05-02 11:36:00) [18]а если строк с апрельскими датами будет много, то сколько строк должно показываться в комбо - 1 или все?
ixen (2010-05-02 10:56:00) [19]
> вычисляемое поле в рекордсете.
т.е. без создания дополнительного поля никак?
sniknik (2010-05-02 10:54:00) [20]> но куда его вставить в компонент не знаю...
вычисляемое поле в рекордсете.