Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-59536
sapsi
2003-04-25 13:22
2003.05.19
рисунок на dbgridtitle


3-59631
umr
2003-04-29 08:25
2003.05.19
Как вставит в SQL длинный запрос?


4-60005
Dimonich
2003-03-17 18:32
2003.05.19
Как свернуть прогу в трей?


7-59974
Darkwin
2003-03-21 12:36
2003.05.19
Изменения пароля пользователя Windows


14-59882
MalkoLinge
2003-04-29 11:49
2003.05.19
Львов и конкурс ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский