Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tdbgrid [D5]


Гарик ©   (2002-11-21 15:56:00) 

Здравсвуйте.
У меня несколько вопросов:
1.Как перебрать все ячейки гриды, чтобы написать свой конвертор
в файл (Excel/Word напр.) Проблема в том что перебор через
датасет не дает информации о форматировании ячейки.(фонт, цвет фона).

2.Как получить доступ к активной (выделенной) ячейке для возможного форматирования?


Гарик   (2002-11-22 10:28:00) [1]

2Victor_Cr

> Ну для настоящих извращенцев есть такой путь. Создаешь массив,
> файл, таблицу или еще чего-нибудь, где будешь хранить атрибуты
> каждой ячейки. И в обработчике OnDrawColumnCell перерисовываешь
> значения исходя из данного массива.

SKIP
Как раз вот так не хотелось бы делать, поскольку на это событие у меня форматируются ячейки на основе "признаков датасета".

2ЮЮ
Это самый напрашивающийся путь, и так похоже придется делать :( или убедить пользователей что придется без этого обойтись :)

Спасибо за ответы.
Резюме такое:
1.прочитать формат конкретной ячейки похоже в стандартном
дбгриде нет возможности.
2.То же относится и к установке формата конкретной ячейки.(по крайней мере сделать это очень непросто)


ЮЮ   (2002-11-22 05:04:00) [2]

TDBGrid для этих целей просто не подойдёт, т.к. у него лишь столько строк, сколько видно на экране, следовательно, "пожелания" пользователей по форматированию ячейки надо будет хранить в БД.
Используй тогда TStringGrid, куда сначала помещаешь рез-ты запроса, а признаки форматирования ячеек можно запихать в Objects


Victor_Cr   (2002-11-21 17:50:00) [3]

Ну для настоящих извращенцев есть такой путь. Создаешь массив, файл, таблицу или еще чего-нибудь, где будешь хранить атрибуты каждой ячейки. И в обработчике OnDrawColumnCell перерисовываешь значения исходя из данного массива. Но тебе придеться создать алгоритм распознавания (в смысле местоположение ячейки в гриде и соответствующей ей записи в массиве, файле, таблице или еще где-нибудь). Возможные варианты - привязка формата ячейки к данным что отображаються в гриде (TQuery, TTable, TStoredProc ...).
Ну дальше думай сам.


Гарик   (2002-11-21 16:29:00) [4]

нет, м.б. по-разному.


Anatoly Podgoretsky   (2002-11-21 16:21:00) [5]

Во всех строках одинаковое форматирование колонок, если да, то информация в свойстве Columns


Гарик   (2002-11-21 16:18:00) [6]

Да, это так, но хотелось бы дать пользователю редактировать конечный результат форматирования, т.е. кликнул по ячейке правой кнопкой, - выпало меню с пунктами, предоставляющими возможность поменять шрифт, фон конкретнойячейки.


Prooksius   (2002-11-21 16:12:00) [7]

Ну наверняка ты раскрашиваешь грид на основании данных из DataSet. Тоже относит. фонта.
Делай так же и с вордом.


Наверх

Титульная страница Поиск, карта сайта Написать письмо