Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Модификация вида lookup-поля


TheEd ©   (2009-05-11 14:26:00) 

Блин, как правельнее сделать:
есть таблица в которой интежер-поле (Year - годы).
она как люкап подставляется в другую таблицу, но:
годы предполагаются учебные, т.е. отображаться они должны не как 2008, 2009, а как "2008/2009", "2009/2010" и т.д.
Если перехватить OnGetText у Year, и модифицировать его, типа:
Text := Format('%d/%d', [Sender.AsInteger, Sender.AsInteger + 1]);
то в выпадающем списке в DBGrid отображение как положено в OnGetText, но при сохранении записи - просто число отображается.
Попытался создать в запросе calculated-поле calcYear : TStringField, назначить ему OnGet/SetText и OnCalckField, не прёт...

Подскажите как лучше?

зы: Понимаю, что можно непосредственно в БД добавить поле TextYear, в которое тригером при вставке запихнуть нужное строковое значение, но это на мой взгляд не очень правильно (дублирование), да и суть интересна - наверняка можно сделать...


KilkennyCat   (2009-05-11 17:34:00) [1]


> Игорь Шевченко ©

гм... а я уж боялся, что я че-то совсем ничего непонимать стал, спасибо ;)


жж   (2009-05-11 16:39:00) [2]

Поскольку проблема в отображении, то и решатьая она должна на уровне отображения,  а не на уровне БД.
Если перестать пробовать ускорить  разработку путем использования DB компонентов, и сделать все руками на основе обычного например TComboBox, то все значительно ускорится, а кода ровно три строчки


Игорь Шевченко   (2009-05-11 15:37:00) [3]

ты поток сознания форматируй, прежде чем его на форум выплескивать.


Наверх

Титульная страница Поиск, карта сайта Написать письмо