Автоматическая ширина колонок таблицы

Обсуждение Stimulsoft Reports.NET
Ответить
Andrey_Bliznev
Сообщения: 4
Зарегистрирован: 25 сен 2013, 13:21
Откуда: Russia, Ryazan

Автоматическая ширина колонок таблицы

Сообщение Andrey_Bliznev »

Доброго времени суток

Ищу способ по согласованию ширины колонок заголовка таблицы с шириной колонок таблицы с данными. В данный момент используется Table и ColumnHeaderBand с текстовыми полями постоянной ширины. Данные в таблице простые: числа и строки (например ФИО), размеры листа (page) значения не имеет, т.к. в конечном итоге создается файл, не предназначенный для печати.

Подскажите пожалуйста способ (возможно программный - в коде дизайнера) согласовать таблицу и заголовок (не важно какие компоненты будут использоваться - лишь бы они могли отобразить таблицу)
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Автоматическая ширина колонок таблицы

Сообщение HighAley »

Здравствуйте.

Опишите, пожалуйста, более подробно проблему, с которой вы столкнулись. Желательно со скриншотами, а также укажите версию используемого продукта.

Спасибо.
Andrey_Bliznev
Сообщения: 4
Зарегистрирован: 25 сен 2013, 13:21
Откуда: Russia, Ryazan

Re: Автоматическая ширина колонок таблицы

Сообщение Andrey_Bliznev »

Aleksey Andreyanov писал(а):Здравствуйте.

Опишите, пожалуйста, более подробно проблему, с которой вы столкнулись. Желательно со скриншотами, а также укажите версию используемого продукта.

Спасибо.
Здравствуйте, версия Reports .Net 2012.2.1400
Подскажите пожалуйста как можно отправить вам файл.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Автоматическая ширина колонок таблицы

Сообщение HighAley »

Здравствуйте.

Вы можете отправить файлы на support@stimulsoft.com со ссылкой на эту тему.

Спасибо.
Andrey_Bliznev
Сообщения: 4
Зарегистрирован: 25 сен 2013, 13:21
Откуда: Russia, Ryazan

Re: Автоматическая ширина колонок таблицы

Сообщение Andrey_Bliznev »

Добрый вечер
Отправил архив с тестовым отчетом.
В файле Result.xslx - результат, в NeedSomthingLikeThis.xlsx - примерно необходимый результат.

Проблема заключается в том, что лист MS Excel не имеет фиксированного размера и длинна строк входных данных тоже различна. Необходимо выставить/расчитать/... ширину колонок для содержимого таблицы вручную (если возможно) или автоматически (если возможно), чтобы результат был похож на NeedSomthingLikeThis.xlsx
Используемые компоненты не имеют значения: лишь бы можно было вывести таблицу.
Еще одна проблема: непонятное объединения ячеек в компоненте "Таблица". Почему-то текст, написанный в начале ячейки, выводится так, будто ячейка все еще разделена, и текст написан в последней из них.
Summit
Сообщения: 4
Зарегистрирован: 27 сен 2013, 11:45

Re: Автоматическая ширина колонок таблицы

Сообщение Summit »

Здравствуйте!
В случае с таблицей вы можете обойтись вообще без ColumnHeaderBand, поскольку первые строки в таблице можно делать заголовочными, при этом определить для них свой стиль. В дизайнере количество заголовочных строк устанавливается свойством Header Rows Count в разделе Table, а в коде через одноименное свойство StiTable. При таком подходе Ваша проблема отпадает сама собой.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Автоматическая ширина колонок таблицы

Сообщение HighAley »

Здравствйте, Андрей.

В MS Excel есть большая проблема с сопоставлением размера текста и ячеек.
В приложениях MS-Office функция WYSIWYG часто работает некорректно.
Например, ваш отчет в EXCEL в режиме редактирования и в предпросмотре печати выглядит по-разному, еще больше различий вы увидите, если в режиме редактирования начнете менять масштаб страницы от 50% до 200% - самый длинный текст на странице будет обрезаться на разное количество строчек в зависимости от масштаба. Вы поджете увидеть этот эффект при изменении масштаба в приложенном файле.
Также отрисовка текста в Excel осуществляется собственными методами, и не совпадает ни с GDI+ (Standard, Typographic), ни с GDI (WYSIWYG).
Особенно это заметно на междустрочном расстоянии - оно больше, чем в GDI/GDI+ процентов на 20..25, поэтому последняя строка текста может не помещаться в ячейку.
К сожалению, в Excel до сих пор нельзя изменять междустрочное расстояние, поэтому данная проблема не решается автоматически, и поэтому нельзя точно передать вид текста в превью.
Варианты примерного решения проблемы:
1. Попробовать выбрать для текста разные шрифты; для каждого шрифта попробовать разный TextQuality - выбрать тот, при котором строка текста получается самой длинной.
2. В конце каждого текста добавлять пустую строку для компенсации погрешности изображения.
3. Установить для текста Margins, чтобы получался запас пустого места для текста (в Excel нет полей ячейки, поэтому это место будет как резерв для текста).
Глюки Wysiwyg в MS-Excel.xls
(27 КБ) 220 скачиваний
По поводу объединения ячеек почитайте, пожалуйста нашу документацию. http://www.stimulsoft.com/ru/documentat ... export.htm

Спасибо.
Andrey_Bliznev
Сообщения: 4
Зарегистрирован: 25 сен 2013, 13:21
Откуда: Russia, Ryazan

Re: Автоматическая ширина колонок таблицы

Сообщение Andrey_Bliznev »

Здравствуйте, Алексей

Благодарю за помощь.

Summit писал(а):Здравствуйте!
В случае с таблицей вы можете обойтись вообще без ColumnHeaderBand, поскольку первые строки в таблице можно делать заголовочными, при этом определить для них свой стиль. В дизайнере количество заголовочных строк устанавливается свойством Header Rows Count в разделе Table, а в коде через одноименное свойство StiTable. При таком подходе Ваша проблема отпадает сама собой.
Спасибо за ваш ответ, в своем последнем "эксперименте" так и сделал.
HighAley
Сообщения: 1998
Зарегистрирован: 08 июн 2011, 11:36
Откуда: Stimulsoft Office

Re: Автоматическая ширина колонок таблицы

Сообщение HighAley »

Здравствуйте.

Всегда рады вам помочь.
Обращайтесь, если возникнут ещё вопросы.

Спасибо.
Ответить