Проблема с авторесайзом ширины поля в Cross-Tab

Обсуждение Stimulsoft Reports.NET
Ответить
ROLpogo
Сообщения: 20
Зарегистрирован: 16 янв 2013, 15:09

Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение ROLpogo »

Приветствую!
Проблема:
В секцию Rows компонента Cross-Tab добавил текстовое поле. При печати отчета, ширина этого столбца подгоняется по максимальной длине текста в этом поле. Выставление параметра MaxSize в 100;0 для этого поля никак не помогает.

Вопрос:
Как сделать фиксированную ширину столбца с возможностью переноса текста?
Версия: 2013.1.1600
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение Aleksey »

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

Пришлите, пожалуйста, ваш отчет с тестовыми данными для анализа.

Спасибо.
ROLpogo
Сообщения: 20
Зарегистрирован: 16 янв 2013, 15:09

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение ROLpogo »

Нашел время сделать тестовый пример. В архиве база с одной таблицей и сам отчет.

Вопросы:
1. Как убрать автовыравнивание ширины полей по максимальной длине их содержимого? Т.е. как задать фиксированную ширину столбцов?
2. Для поля Name заданы Conditions, но они почему-то не работают. Нужно, чтобы при значении поля nOrder = 1 текст в поле выводился жирным и на сером фоне.
Вложения
TestDB.7z
База с отчетом
(185.18 КБ) 168 скачиваний
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение Aleksey »

Здравствуйте,
1. Как убрать автовыравнивание ширины полей по максимальной длине их содержимого? Т.е. как задать фиксированную ширину столбцов?
Вы можете использовать свойство MaxSize
2. Для поля Name заданы Conditions, но они почему-то не работают. Нужно, чтобы при значении поля nOrder = 1 текст в поле выводился жирным и на сером фоне.
В данном случае, необходимо использовать свойство Tag.

Спасибо.
Вложения
Capture.PNG
Capture.PNG (23.29 КБ) 3921 просмотр
RTest_modified.mrt
(32.1 КБ) 314 скачиваний
ROLpogo
Сообщения: 20
Зарегистрирован: 16 янв 2013, 15:09

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение ROLpogo »

Спасибо, помогло!
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение Aleksey »

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

Всегда рады помочь.
ROLpogo
Сообщения: 20
Зарегистрирован: 16 янв 2013, 15:09

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение ROLpogo »

И снова здравствуйте!
Появились ещё вопросы:

1. Не получается задать фиксированную ширину для поля "Артикул" (MaterArt). У поля MaterArt выставил макс. ширину 10, однако она так и осталась, какой была с самого начала.
2. Добавил Conditions для 2-х последних полей (Rest и PriceSum), которые находятся в разделе Summary. Но, при отображении, это влияет только на первую пару колонок Rest, PriceSum. На оставшиеся 2 пары Conditions почему-то не действует.
3. Добавил ещё немного данных в таблицу (получилось 36 страниц отчета). Начиная с 4-й страницы появляется рассинхронизация. Заголовок таблицы начинает потихоньку сползать вниз под давлением записей, спускающихся с предыдущей таблицы. Каким способом это можно победить?
Вложения
140219_TestDB.7z
Отчет и база
(270.3 КБ) 162 скачивания
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение Aleksey »

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

-1. Не получается задать фиксированную ширину для поля "Артикул" (MaterArt). У поля MaterArt выставил макс. ширину 10, однако она так и осталась, какой была с самого начала.

Видимо из-за того что ширина данного поля и так меньше 10. Пожалуйста, попробуйте установить, к примеру, значение 1.

- 2. Добавил Conditions для 2-х последних полей (Rest и PriceSum), которые находятся в разделе Summary. Но, при отображении, это влияет только на первую пару колонок Rest, PriceSum. На оставшиеся 2 пары Conditions почему-то не действует.

По идее, все работает правильно. Посмотрите приложенный скриншот.

- 3. Добавил ещё немного данных в таблицу (получилось 36 страниц отчета). Начиная с 4-й страницы появляется рассинхронизация. Заголовок таблицы начинает потихоньку сползать вниз под давлением записей, спускающихся с предыдущей таблицы. Каким способом это можно победить?

Известная проблема Кросс-Таблицы. Возникает, в некоторых случаях при наличии дополнительных заголовков на с странице. Пожалуйста, попробуйте убрать ReportTitle, ReportHeader, Header компоненты со страницы.
К сожалению, на данный момент, исправить невозможно, работает как есть. На данный момент, разрабатывается новый компонент для репорт сервера аналогичный данному компоненту. В будущем постараемся его перенести и в дизайнер.

Спасибо.
Вложения
Capture.PNG
Capture.PNG (107.56 КБ) 3901 просмотр
ROLpogo
Сообщения: 20
Зарегистрирован: 16 янв 2013, 15:09

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение ROLpogo »

Спасибо за ответы! Но во втором вопросе я имел ввиду то, что Conditions не распространяется на правые группы, а не на нижние. Т.е., вопрос состоит в том, как мне закрасить серым все пары ячеек "Кол-во" и "Сумма" в той строке, где срабатывает этот Conditions?
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Re: Проблема с авторесайзом ширины поля в Cross-Tab

Сообщение Aleksey »

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

Стандартного решения нет, так как условие срабатывает только для ячеек на пересечении.
Как вариант, использовать двойной проход. В первом добавить и заполнить значениями, к примеру хэш таблицу, в которой хранить "Наименование" и значение для условия. А во втором проходе уже в Условии ячеек использовать значения из данной хэш таблицы.
Пожалуйста, посмотрите приложенный пример.

Спасибо.
Вложения
Capture.PNG
Capture.PNG (18.41 КБ) 3867 просмотров
RTest_modified2.mrt
(32.95 КБ) 305 скачиваний
Ответить