29.01.2010, 10:16 | #1 |
Moderator
|
Что попадает в буфер обмена при стандартном копировании строк grid'а?
Всем привет!
Если не все, то очень многие, наверное, замечали, что при копировании из grid'а и последующей вставке в Excel на рабочем листе обнаруживаются колонки, отсутствующие в гриде. Отсюда вопрос: по каким принципам формируется список и порядок этих выводимых колонок? Чисто по ощущениям мне показалось следующее: вначале идут все видимые в гриде колонки с учетом пользовательских настроек, а затем оставшиеся поля датасорса грида, причем в порядке, отличном от порядка следования полей в базовой таблице. Интересно, каком? Насколько мне известно, копирование грида - это системная функция и код ее для изучения, к сожалению, недоступен. Кто что знает об этом? Заранее спасибо всем откликнувшимся. Надо мне это для решения следующей задачки. Есть грид, который пользователи благополучно стандартно копируют в Excel и там развлекаются (наверное, тоже стандартно ). Но к форме недавно добавился еще один датасорс, данные которого нужно отобразить в стиле перекрестной таблицы Excel. Столбцы этой "перекрестной таблицы" теоретически можно добавить в грид, создав соответствующие дисплей-методы, но в этом случае форма тихо умирает еще при открытии. Поэтому я сделал отдельную выгрузку "перекрестной таблицы" по кнопке и рекомендовал пользователям "приставлять" ее уже в Excel к данным грида. Им показалось это слишком сложным - отсортировать два диапазона и расположить рядом на рабочем листе - и они желают, чтобы по кнопке вылезало всё сразу. Все видимые колонки грида я могу выгрузить, потому что могу их получить программно. Вопрос - как быть с невидимыми? |
|