Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.19;
Скачать: CL | DM;

Вниз

Подстановка при просмотре в нужное поле значения   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
1-59664
IronHawk
2003-05-05 17:24
2003.05.19
Кк из большого текстового файла удалять символы по особым ...


1-59785
Garmahis
2003-05-06 13:59
2003.05.19
Типизированный файл


1-59680
fulcrum
2003-05-07 15:25
2003.05.19
IniFiles


1-59735
Yel
2003-05-06 07:49
2003.05.19
имя и рабочая папка ярлыка


3-59606
msoftware
2003-04-28 16:22
2003.05.19
Проблема с поиском записей