Главная страница
    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.007 c
1-59739
Anna
2003-05-06 09:05
2003.05.19
QuickReport


14-59921
Kate
2003-04-29 10:17
2003.05.19
Chart в Excel


11-59643
fishca
2002-08-13 15:12
2003.05.19
Разные шрифты


6-59843
alex55
2003-03-16 19:12
2003.05.19
NamedPipe


3-59551
Dimaz-z
2003-04-25 21:20
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский