![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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. Тоже относит. фонта.
Делай так же и с вордом.