Форум: "Базы";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
ВнизПодстановка при просмотре в нужное поле значения Найти похожие ветки
← →
dimosik (2003-04-28 11:59) [0]Привет всем!
Есть поле со значениями от -1 до 4, как при просмотре через ADOSql в Гриде лицезреть не цифры, а подставляемые надписи
0 нет на складе
1 в продаже
2 продан
а лучше еще и сопровождать это поле соответствующим цветным символом
Заранее спасибо!
← →
AlexSerp (2003-04-28 12:01) [1]TCustomDBGrid.OnDrawColumnCell
← →
ЮЮ (2003-04-28 12:50) [2]Завести таблицу, а не хранить этот список на бумажке под стеклом :-)
← →
Zelius (2003-04-28 13:10) [3]У полей есть обработчик события OnGetText - вот его тебе и надо обработать (см.Хелп).
← →
AlexSerp (2003-04-28 13:12) [4]2Zelius, в полях будут храниться численные значения.
А ты что предлагаешь? А?
ЮЮ, вот правильное решение. Я не стал писать. Ответил в лоб.
Таблица позволит менять/добавлять.
← →
Zelius (2003-04-28 13:21) [5]AlexSerp © (28.04.03 13:12)
для простого отображения способ самый лучший! есть типы данных в программе, которые не имеет смысла хранить в базе, вот как раз для этих случаев и можно использовать TField.OnGetText/OnSetText. И никуда его числовой тип не денется...
← →
Карелин Артем (2003-04-28 13:28) [6]AlexSerp © (28.04.03 13:12)
Хелп читал? Use OnGetText to format the Value of the field differently when it must be edited from the format used when simply displaying the value, or use OnGetText to display something other than the field’s value when it is displayed.
Зачем городить таблицу на 3 значения, которые будут жестко забиты? (Да и в текстовом файле можно забить значения. Тогда и менять/добавлять можно будет ;))
if Sender.AsInteger=1 then Text:="в продаже";
Насчет цветного символа: читай тут http://delphi.vitpc.com/helloworld/dbgridcolor.htm
← →
stone (2003-04-28 13:31) [7]Подставлять значения в данном случае можно еще на уровне формирования запроса.
select ..., "Category" =
CASE
WHEN Field = 0 THEN "нет на складе"
WHEN Field = 1 THEN "в продаже"
WHEN Field = 2 THEN "продан"
ELSE "Не понятно"
END
from Table1
← →
dtm (2003-04-28 14:06) [8]А разве нет таблицы Table1 в БД с содержанием: ("номер типа", "название типа")? Тогда в самом запросе можно делать выборку из двух таблиц (Табль1 и Табль2):
select (какие-то поля + Табль1.название_типа) из "Табль1 и Табль2"
where Табль1.номер_типа = Табль2.номер_типа
Разве так нельзя сделать?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c