Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 507

/ вопрос открыт /

Приветствую, уважаемые эксперты!

Имеется DBGrideEh, в него попадают данные из таблицы. В таблице есть поля. Вних значения ввиде 0,1,2,3,4,5.
Мне нужно сделать так, чтоб например вместо 0 в DBGridEh выводилось другое значение, например "Завершен", вместо 1 - "Не началось" и.т.д.

Кто-нить сможет подсказать кусочком кода?

eJay Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: eJay (статус: Посетитель)
Вопрос отправлен: 17 августа 2010, 11:30
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Вадим К

Здравствуйте, eJay!
Нужно завести ещё одну табличку, в которой будет два столбца. В первом числа, в втором описание. А потом связать две таблицы в одну.
Для этого можно посмотреть это видео
http://codegearguru.com/video/041/CalculatedFields.html
и это видео
http://codegearguru.com/video/024/OnDrawColumnCell.html
Оно правда на английском, но но там показывают куда и как кликать:)

Ответ отправил: Вадим К (статус: Академик)
Время отправки: 17 августа 2010, 11:51


Мини-форум вопроса

Всего сообщений: 3; последнее сообщение — 17 августа 2010, 21:22; участников в обсуждении: 3.
Егор

Егор (статус: 10-ый класс), 17 августа 2010, 17:14 [#1]:

а это только на вывод или на вход тоже? т.е. будут ли в это поле вводиться новые значения ручками пользователя?

можно завести новую таблицу, как Вадим советует, а можно в самой программе "на лету" менять выходную информацию - показывать не то, что на самом деле записано в базе.
у каждого из способов есть свои плюсы и минусы.
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
Maksell

Maksell (статус: Посетитель), 17 августа 2010, 19:56 [#2]:

можешь вместа таблички использовать запрос и в самом запросе указать подмену
пр-р:
SELECT "f1" AS "f_1", [f2] AS "f_2", "f_3" = f3,
 "f_4" =
   case f4
    when 0 then 'таекст 1'
    when 1 then 'таекст 2'
    when 2 then 'таекст 3'
    when 3 then 'таекст 4'
    else f4
  end
FROM t ...
где f1, f2, f3, f4 - поля таблицы t,
f_1, f_2, f_3, f_4 - подмена имён полей
t - таблица
разницы между квадратными скобками и двойными кавачками нет и вообще их можно опустить, если имена полей простые, т.е не содержат в себе знаков пунктуации, разделители и пробелы
Si numqum quaeris, raro magister eris!
Мережников Андрей

Мережников Андрей (статус: Абитуриент), 17 августа 2010, 21:22 [#3]:

как вариант можно использовать вычисляемые поля, но это приемлемо только в том случае, если не будет изменяться выводимое значение, сопоставленное числу, которое храниться в БД

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:26
Выполнено за 0.02 сек.