Текущий архив: 2002.12.09;
Скачать: CL | DM;
ВнизTdbgrid Найти похожие ветки
← →
Гарик (2002-11-21 15:56) [0]Здравсвуйте.
У меня несколько вопросов:
1.Как перебрать все ячейки гриды, чтобы написать свой конвертор
в файл (Excel/Word напр.) Проблема в том что перебор через
датасет не дает информации о форматировании ячейки.(фонт, цвет фона).
2.Как получить доступ к активной (выделенной) ячейке для возможного форматирования?
← →
Prooksius (2002-11-21 16:12) [1]Ну наверняка ты раскрашиваешь грид на основании данных из DataSet. Тоже относит. фонта.
Делай так же и с вордом.
← →
Гарик (2002-11-21 16:18) [2]Да, это так, но хотелось бы дать пользователю редактировать конечный результат форматирования, т.е. кликнул по ячейке правой кнопкой, - выпало меню с пунктами, предоставляющими возможность поменять шрифт, фон конкретной ячейки.
← →
Anatoly Podgoretsky (2002-11-21 16:21) [3]Во всех строках одинаковое форматирование колонок, если да, то информация в свойстве Columns
← →
Гарик (2002-11-21 16:29) [4]нет, м.б. по-разному.
← →
Victor_Cr (2002-11-21 17:50) [5]Ну для настоящих извращенцев есть такой путь. Создаешь массив, файл, таблицу или еще чего-нибудь, где будешь хранить атрибуты каждой ячейки. И в обработчике OnDrawColumnCell перерисовываешь значения исходя из данного массива. Но тебе придеться создать алгоритм распознавания (в смысле местоположение ячейки в гриде и соответствующей ей записи в массиве, файле, таблице или еще где-нибудь). Возможные варианты - привязка формата ячейки к данным что отображаються в гриде (TQuery, TTable, TStoredProc ...).
Ну дальше думай сам.
← →
ЮЮ (2002-11-22 05:04) [6]TDBGrid для этих целей просто не подойдёт, т.к. у него лишь столько строк, сколько видно на экране, следовательно, "пожелания" пользователей по форматированию ячейки надо будет хранить в БД.
Используй тогда TStringGrid, куда сначала помещаешь рез-ты запроса, а признаки форматирования ячеек можно запихать в Objects
← →
Гарик (2002-11-22 10:28) [7]2Victor_Cr
> Ну для настоящих извращенцев есть такой путь. Создаешь массив,
> файл, таблицу или еще чего-нибудь, где будешь хранить атрибуты
> каждой ячейки. И в обработчике OnDrawColumnCell перерисовываешь
> значения исходя из данного массива.
SKIP
Как раз вот так не хотелось бы делать, поскольку на это событие у меня форматируются ячейки на основе "признаков датасета".
2ЮЮ
Это самый напрашивающийся путь, и так похоже придется делать :( или убедить пользователей что придется без этого обойтись :)
Спасибо за ответы.
Резюме такое:
1.прочитать формат конкретной ячейки похоже в стандартном
дбгриде нет возможности.
2.То же относится и к установке формата конкретной ячейки.(по крайней мере сделать это очень непросто)
Страницы: 1 вся ветка
Текущий архив: 2002.12.09;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.008 c