![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Модификация вида 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]ты поток сознания форматируй, прежде чем его на форум выплескивать.