DockStyle = Left -> Неверное выравнивание объектов.

Обсуждение Stimulsoft Reports.NET
Ответить
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Леонид »

Добрый день, уважаемые!

Замучался уже с этим (DockStyle) свойством у текстов. Не могу взять в толк как оно работает, то ли выстраивает объекты по имени, то ли ещё как.
Пытался переименовать объекты по типа "Text01, Text02... Text20" - не помогло. Всё равно выстраивает их неправильно, не друг за другом, как они шли, а по-другому, т.е. в непонятной последовательности.

Скачайте файл отчёта, который я сделал. Он уже готов, запускать его не нужно, т.к. там нет адаптера данных (я его удалил, т.к. всё равно отчёт "подтягивает" данные из базы Oracle).
Суть не в этом. Попробуйте в этом отчёт, например в GroupFooterBand11 или в любом другом GroupFooterBand'е. Выделите все объекты текст и поставьте DockStyle = Left. Увидите, что они выстроятся неправильно, а сделав тоже самое, в Header'е или MasterData все объекты останутся на местах, т.е. как и должно быть.

Файл отчёта можно скачать здесь.
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 08:16

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Anton Lozovskiy »

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

Мы разобрались в вашей проблеме. Чтобы понять ее, Вам нужно внимательно посмотреть в дерево отчета, а именно, как расположены компоненты в GroupFooterBand11 и GroupFooterBand12. Докирование компонентов происходит не по тому как они лежат на контейнере, а по порядку их вхождения массив Components.

Посмотрите пожалуйста приложенное изображение.
GroupFooterBand11:
Text271 и Text307 находятся последними в дереве компонентов, а на GroupFooter расположены посередине. Поэтому при "DockStyle = Left" они переносятся в конец.

Спасибо.
Вложения
Untitled-7.png
Untitled-7.png (14.15 КБ) 2633 просмотра
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Леонид »

Anton писал(а):Здравствуйте,

Мы разобрались в вашей проблеме. Чтобы понять ее, Вам нужно внимательно посмотреть в дерево отчета, а именно, как расположены компоненты в GroupFooterBand11 и GroupFooterBand12. Докирование компонентов происходит не по тому как они лежат на контейнере, а по порядку их вхождения массив Components...................
Да, теперь понял, но вот незадача с помощью Drag'n'Drop не получается никак поменять порядок следования этих компонентов.
Как быть, пересоздать их все? Но, это неудобно, т.к. я уже прописал кучу кода на разные события для этих компонентов.
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 08:16

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Anton Lozovskiy »

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

>>Да, теперь понял, но вот незадача с помощью Drag'n'Drop не получается никак поменять порядок следования этих компонентов.
Мы подумаем по поводу этой проблемы, постараемся изменить поведение Drag'n'Drop.

Вы можете просто выделить все компоненты GroupFooterBand11 и переместить на свободное место страницы, а потом заново переместить их на GroupFooter.
Тогда ничего пересоздавать не придется.

Спасибо.
Леонид
Сообщения: 329
Зарегистрирован: 23 июл 2009, 09:53
Откуда: Moscow

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Леонид »

Anton писал(а):Здравствуйте,

>>Да, теперь понял, но вот незадача с помощью Drag'n'Drop не получается никак поменять порядок следования этих компонентов.
Мы подумаем по поводу этой проблемы, постараемся изменить поведение Drag'n'Drop.

Вы можете просто выделить все компоненты GroupFooterBand11 и переместить на свободное место страницы, а потом заново переместить их на GroupFooter.
Тогда ничего пересоздавать не придется.
Да, это помогает. :biggrin: Только при перетаскивании с пустого места обратно на GroupFooterBand порядок создания остаётся такой же, как и был.
Приходится перетаскивать компоненты по одному и выставлять значение Top в ноль, а Left в соответствии с тем, что стоит у вышестоящего GroupFooter'а, т.к. они почти одинаковые, только для разных полей.
Это не совсем удобно, т.к. отнимает много времени на пустую работу, но ничего не поделать. Но в будущих релизах хотелось бы увидеть реализацию перетаскивания обычным Drag'n'Drop методом, чтобы при этом менялся порядок создания этих (перетаскиваемых) компонентов.
В любом случае спасибо за помощь, теперь зная, что делать, буду переделывать все 12 Footer'ов.:pffft:
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 08:16

DockStyle = Left -> Неверное выравнивание объектов.

Сообщение Anton Lozovskiy »

Здравствуйте,
leon писал(а): Да, это помогает. :biggrin: Только при перетаскивании с пустого места обратно на GroupFooterBand порядок создания остаётся такой же, как и был.
Приходится перетаскивать компоненты по одному и выставлять значение Top в ноль, а Left в соответствии с тем, что стоит у вышестоящего GroupFooter'а, т.к. они почти одинаковые, только для разных полей.
Это не совсем удобно, т.к. отнимает много времени на пустую работу, но ничего не поделать. Но в будущих релизах хотелось бы увидеть реализацию перетаскивания обычным Drag'n'Drop методом, чтобы при этом менялся порядок создания этих (перетаскиваемых) компонентов.
В любом случае спасибо за помощь, теперь зная, что делать, буду переделывать все 12 Footer'ов.:pffft:
Мы внесли изменения в процесс Drag'n'Drop. Изменения будут доступны в следующем пререлиз билде.

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