Изменять ширину колонок в зависимости от видимости колонок

Обсуждение Stimulsoft Reports.NET
Ответить
EmeJIbka
Сообщения: 70
Зарегистрирован: 22 сен 2008, 14:07
Откуда: Russia

Изменять ширину колонок в зависимости от видимости колонок

Сообщение EmeJIbka »

Здравствуйте.
Подскажите, пожалуйста, как спроектировать такой отчёт, в котором ширина "колонок" таблицы изменялось бы в зависимости от условий.
Есть отчёт, в котором есть заголовок данных с шапкой таблицы, под ним данные. Мне необходимо дать пользователю возможно выбирать колонки, которые он увидит в отчёте. Как определить видимость колонок я знаю, но как сделать так что бы соседние колонки приклеивались друг к другу и не оставалось дырок я не знаю.
Aleksey
Сообщения: 2777
Зарегистрирован: 22 апр 2010, 06:57

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение Aleksey »

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

Можно использовать либо дополнительный код, либо использовать DockStyle свойство.

Спасибо.
Вложения
SelectingColumnsWithVariable_NotCode.mrt
(17.91 КБ) 312 скачиваний
SelectingColumnsWithVariable.mrt
(40.38 КБ) 282 скачивания
EmeJIbka
Сообщения: 70
Зарегистрирован: 22 сен 2008, 14:07
Откуда: Russia

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение EmeJIbka »

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

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение HighAley »

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

Вы можете изменить расположение компонентов в Словаре данных, также вы можете попробовать сделать это в коде:

Код: Выделить всё

            var oldCol = (report.GetComponentByName("DataBand1") as StiDataBand).Components;
            var newCol = new StiComponentsCollection();
            newCol.Add(oldCol[0]);
            newCol.Add(oldCol[2]);
            newCol.Add(oldCol[1]);
            (report.GetComponentByName("DataBand1") as StiDataBand).Components = newCol;
Возможно будет проще создавать отчёт кодом с нуля.

Спасибо.
EmeJIbka
Сообщения: 70
Зарегистрирован: 22 сен 2008, 14:07
Откуда: Russia

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение EmeJIbka »

Спасибо, я так и хотел сделать, но думал, что может есть способ проще.
Aleksey
Сообщения: 2777
Зарегистрирован: 22 апр 2010, 06:57

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение Aleksey »

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

Дайте знать, если возникнут еще вопросы.
AKi
Сообщения: 18
Зарегистрирован: 01 фев 2017, 12:54

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение AKi »

EmeJIbka писал(а): Как определить видимость колонок я знаю
Здравствуйте, не могли бы Вы уточнить этот момент? Спасибо
Aleksey
Сообщения: 2777
Зарегистрирован: 22 апр 2010, 06:57

Re: Изменять ширину колонок в зависимости от видимости колон

Сообщение Aleksey »

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

Вы можете использовать Condition и "Component is Enabled" опцию для данной задачи.

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