Oper01 |
Отправлено: 13.02.2007, 14:04 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 145
|
Вывожу в компонент DbGridEh несколько полей из таблицы. (подключение ADO, база Access).
Есть одно текстовое поле в которое записаны нули и единицы. Пример: 010001001110010001011110010101.
Так вот, его отобразить в гриде мне нужно так, что если 1 в какой-то позиции — то это A1, например, в другой позиции — Б5 и т.д.. Если 0 — то никакого соответствия. Т.е. чтобы поле отображалось в виде A1А3Б5Б11 и т.д.
Надеюсь задачу объяснил ясно. Спасибо. |
|
AVC |
Отправлено: 13.02.2007, 14:35 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
OnDrawDataCell если только показать, вычисляемое поле если нужно еще где то.
Или попробовать заставить заняться этим Access? |
|
Oper01 |
Отправлено: 13.02.2007, 14:53 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 145
|
Редактирование не требуется, только просмотр. |
|
nawok78 |
Отправлено: 14.02.2007, 08:15 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 115
|
цепляешься за OnDrawColumnCell
Тут поцедурка в которой и цвет ячейки меняеется и текст тоже (текст в конце) |
|
Oper01 |
Отправлено: 15.02.2007, 17:53 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 145
|
В событии DrawColumnCell пишу такой код:
CODE |
if (Column->Field->Name == "E1")
DBGridEh1->Canvas->TextOut(Rect.Left, Rect.top, "12345");
|
Но дело в том, что ячейка не перерисовывается, а только добавляется.
Т.е. после "12345" идёт продолжение того текста, кот был. в этом поле.
Как его убрать и заменить на "12345"?
|
|