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

Вниз

Подмена полей в DBGride   Найти похожие ветки 

 
-=[SDA]=-   (2003-08-28 09:50) [0]

Вываливаю запрос в Grid, но некоторые поля имеют хитрые значения, например: "Н/У" - не установлено, или даты - 1.1.1900, или сокращенные названия, так вот хотелось бы, чтобы в БД оставалось всё по старому, а при выводе такие поля заменялись на новые значения, например: 1.1.1900 - "дата не введена" или "00-00-0000", Н/У - не установлена, вот! Пробовал на DrawDataCell писать типа: DBGrid1.Columns[Field.FieldNo-1].Field.Text := "ssssss"; - столбец строковый. Пишет: Query1: DataSet not in edit or insert mode.


 
stone ©   (2003-08-28 09:53) [1]

Создай вычисляемые поля и формируй их как тебе нравится. Их же и показывай.


 
-=[SDA]=-   (2003-08-28 09:58) [2]

А без вычисляемых полей как нибудь можно?


 
DenK_vrtz ©   (2003-08-28 10:02) [3]

в MSSQL есть такое понятие как view? и конструкция типа case?
Если да, то нет ничего проще!


 
Соловьев ©   (2003-08-28 10:02) [4]


> Пробовал на DrawDataCell писать типа: DBGrid1.Columns[Field.FieldNo-1].Field.Text
> := "ssssss"; - столбец строковый

все правильно пишет.
...
if Columns[0].Field.AsDateTime = "1.1.1900" then
TDBGrid(Sender).Canvas.DrawText(Rect.Left,Rect.Top,"дата не введена");
...


 
Fiend ©   (2003-08-28 10:02) [5]

тада используй у полей OnGetText & OnSetText.
там можешь пробразовать что и куда угодно


 
-=[SDA]=-   (2003-08-28 10:06) [6]

Всем большое спасибо! Буду пробовать.


 
Zacho ©   (2003-08-28 10:07) [7]

Еще вариант: использовать TDBGridEh, в нем есть такая фича


 
Sergey13 ©   (2003-08-28 10:08) [8]

2-=[SDA]=- (28.08.03 09:50)
Что то у тебя данные имеют уж очень "хитрые значения", ИМХО. 8-)
Я бы посоветовал поразбираться со структурой данных. Например вместо "Н/У" сделать просто NULL. Или дефолтом текущую дату присваивать. Смотря по задаче. И для дат желательно, ИМХО, выбирать соответствующий тип поля.



Страницы: 1 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-58623
Genri
2003-09-04 13:19
2003.09.18
Виртуальный конструктор


7-58955
CKOTu
2003-07-02 17:26
2003.09.18
Как прочитать значение REG_MULTI_SZ?


1-58729
Chris
2003-09-07 19:13
2003.09.18
Помогите нарисовать линию


1-58687
Евгыш
2003-09-03 14:47
2003.09.18
Загрузка Frame из DLL


3-58549
Blondin
2003-08-27 14:46
2003.09.18
IBХ -виды транзакций