Скрытие столбцов датабэнда
Скрытие столбцов датабэнда
Решил открыть все таки еще один топик.
Ситуация следующая.
Необходимо скрыть в зависимости от некоторых предварительных настроек один ли несколько столбцов в заголовке данных и самом датабэнде с соответствующим смещением остальных столбцов влево до заполнения освободившегося места.
То же самое приблизительно нужно сделать с чартом - скрыть график, соответствующий этому столбцу на датабэнде (т.е. строится по тем же данным что и скрываемая колонка).
Как бы с этим разобраться...
Спасибо огромное.
Ситуация следующая.
Необходимо скрыть в зависимости от некоторых предварительных настроек один ли несколько столбцов в заголовке данных и самом датабэнде с соответствующим смещением остальных столбцов влево до заполнения освободившегося места.
То же самое приблизительно нужно сделать с чартом - скрыть график, соответствующий этому столбцу на датабэнде (т.е. строится по тем же данным что и скрываемая колонка).
Как бы с этим разобраться...
Спасибо огромное.
Скрытие столбцов датабэнда
Здравствуйте.
Любой компонент на странице или на бэнде можно скрыть при помощи установки свойства 'Enabled' этого компонента в false в BeforePrint событии родительского компонента. Можно снять галочку 'Component is enabled' в Сonditions этого компонента и указать соответствующее условие.
Для того, чтобы компоненты сдвигались, используйте, пожалуйста, свойство Dock.
Спасибо.
Любой компонент на странице или на бэнде можно скрыть при помощи установки свойства 'Enabled' этого компонента в false в BeforePrint событии родительского компонента. Можно снять галочку 'Component is enabled' в Сonditions этого компонента и указать соответствующее условие.
Для того, чтобы компоненты сдвигались, используйте, пожалуйста, свойство Dock.
Спасибо.
Скрытие столбцов датабэнда
Все это хорошо, но есть несколько неудобностей.
1)Если мы все поля на датабэнде или заголовке стыкуем по левому краю,
то непонятно, по какому принципу они выстраиваются. ПО порядку добавления на страницу?
2) Если мне нужно у колонки сделать подколонки (это касается заголовка), то как быть в таком случае?
Все просто ползет как ему заблагорассудится, одним выставлением свойсва Dock в значение Лево ничего добится невозможно.
Что делать в таком случае?
3) и Как же все таки скрыть один из графиков на чарте программно, чтобы он не отображался.
ПС. 2 вопрос решается в принципе добавлением 2-го заголовка данных. Сам заголовок делится пополам. На верхней части общие колонки, на нижней - все подколонки и продолжения общих колонок, у которых нет зависимых. Правда это очень неудобно, нужно еще с границами шаманить и.т.п.
1)Если мы все поля на датабэнде или заголовке стыкуем по левому краю,
то непонятно, по какому принципу они выстраиваются. ПО порядку добавления на страницу?
2) Если мне нужно у колонки сделать подколонки (это касается заголовка), то как быть в таком случае?
Все просто ползет как ему заблагорассудится, одним выставлением свойсва Dock в значение Лево ничего добится невозможно.
Что делать в таком случае?
3) и Как же все таки скрыть один из графиков на чарте программно, чтобы он не отображался.
ПС. 2 вопрос решается в принципе добавлением 2-го заголовка данных. Сам заголовок делится пополам. На верхней части общие колонки, на нижней - все подколонки и продолжения общих колонок, у которых нет зависимых. Правда это очень неудобно, нужно еще с границами шаманить и.т.п.
Скрытие столбцов датабэнда
Здравствуйте,
Компоненты стыкуются в порядке добавления на страницу. Этот порядок можно отобразить:
Пункт меню View -> Show Order.
При помощи комманд 'Bring To Front', 'Send To Back' возможно изменять этот порядок.
В этом случае нужно добавить панель, на которой будет расположены другие компоненты.
Сейчас прорабатывается механизм якорей, но пока конкретных сроков о готовности нет.
Вы можете отключить серию из события BeforePrint:
или добавить:
Спасибо.
1)Если мы все поля на датабэнде или заголовке стыкуем по левому краю,
то непонятно, по какому принципу они выстраиваются. ПО порядку добавления на страницу?
Компоненты стыкуются в порядке добавления на страницу. Этот порядок можно отобразить:
Пункт меню View -> Show Order.
При помощи комманд 'Bring To Front', 'Send To Back' возможно изменять этот порядок.
2) Если мне нужно у колонки сделать подколонки (это касается заголовка), то как быть в таком случае?
Все просто ползет как ему заблагорассудится, одним выставлением свойсва Dock в значение Лево ничего добится невозможно.
Что делать в таком случае?
В этом случае нужно добавить панель, на которой будет расположены другие компоненты.
Сейчас прорабатывается механизм якорей, но пока конкретных сроков о готовности нет.
3) и Как же все таки скрыть один из графиков на чарте программно, чтобы он не отображался.
Вы можете отключить серию из события BeforePrint:
Код: Выделить всё
if (Chart1.Series.Contains(this.NameOfTheSeriesToSwitchOff)) Chart1.Series.Remove(this.NameOfTheSeriesToSwitchOff);
Код: Выделить всё
if !(Chart1.Series.Contains(this.NameOfTheSeriesToAdd)) Chart1.Series.Add(this.NameOfTheSeriesToAdd);
- Вложения
-
- ChartOnDatabandAddRemoveSeries.mrt
- (24.24 КБ) 384 скачивания
Скрытие столбцов датабэнда
Спасибо за ответы.
Насчет 2-го вопроса буду ждать, т.к. якоря все таки нужны, ведь в принципе это стандартный и достаточно распространенный механизм. Да и колонки приходится часто скрывать, а просто не включать их в выборку и пользоваться кросстабами нельзя, так как эти колонки могут использоваться при достаточно сложном расчете значений других колонок, которые уже могут быть не скрыты. А пока все устроило и в моем способе решения и в Вашем.
По поводу 3-го вопроса в принципе я догадался и сам, просто потребовалось чуть больше времени. Эксперименты проводил на версии 2007.3.13, немного неудобно в плане редактора кода. Часто свойства и методы приходится у компонентов смотреть в Visual Studio, т.к. в редакторе генератора отчетов (в части закладки "Код", события формы и компонентов формы) они не подсвечиваются. Может быть в более поздних версиях это исправлено? Не могу проверить точно, т.к. версия работает с нашим софтом из дистрибутива, есть некоторые сложности с перекомпиливанием многих модулей.
Поэтому попутный вопрос. Почему каждый раз при замене dll-ок приходится перекомпиливать наши модули, связанные с Вашими, и это при условии что Specific Version выставлено в false? Есть какие-нибудь идеи или пути решения, может быть нами упущено что-то из виду?
Понимаю что версия старая, и скорее всего мы ее поменяем в самое ближайшее время. Это говорит о достаточной стабильности комопнентов уже на том этапе (2007 год) по крайней мере для нас.
Немного беспокоит вопрос совметимости текущих отчетов, их более 30 штук, есть какие либо предсказуемые проблемы в случае перехода на новую версию?
ПС
Попробовал новую версию (от 2 февраля 2009 года), сколько не пытался поменять в процессе выполнения название графика в легенде, ничего не получается. А в 2007 это получалось (менял через свойство title). Что делать с этим?
Насчет 2-го вопроса буду ждать, т.к. якоря все таки нужны, ведь в принципе это стандартный и достаточно распространенный механизм. Да и колонки приходится часто скрывать, а просто не включать их в выборку и пользоваться кросстабами нельзя, так как эти колонки могут использоваться при достаточно сложном расчете значений других колонок, которые уже могут быть не скрыты. А пока все устроило и в моем способе решения и в Вашем.
По поводу 3-го вопроса в принципе я догадался и сам, просто потребовалось чуть больше времени. Эксперименты проводил на версии 2007.3.13, немного неудобно в плане редактора кода. Часто свойства и методы приходится у компонентов смотреть в Visual Studio, т.к. в редакторе генератора отчетов (в части закладки "Код", события формы и компонентов формы) они не подсвечиваются. Может быть в более поздних версиях это исправлено? Не могу проверить точно, т.к. версия работает с нашим софтом из дистрибутива, есть некоторые сложности с перекомпиливанием многих модулей.
Поэтому попутный вопрос. Почему каждый раз при замене dll-ок приходится перекомпиливать наши модули, связанные с Вашими, и это при условии что Specific Version выставлено в false? Есть какие-нибудь идеи или пути решения, может быть нами упущено что-то из виду?
Понимаю что версия старая, и скорее всего мы ее поменяем в самое ближайшее время. Это говорит о достаточной стабильности комопнентов уже на том этапе (2007 год) по крайней мере для нас.
Немного беспокоит вопрос совметимости текущих отчетов, их более 30 штук, есть какие либо предсказуемые проблемы в случае перехода на новую версию?
ПС
Попробовал новую версию (от 2 февраля 2009 года), сколько не пытался поменять в процессе выполнения название графика в легенде, ничего не получается. А в 2007 это получалось (менял через свойство title). Что делать с этим?
Скрытие столбцов датабэнда
Добрый день.
Может быть незаметили мои дополнительные вопросы.
Очень нужно получить рекомендации особенно на последний: как переименовать один или несколько графиков в легенде чарта перед его построением.
Может быть незаметили мои дополнительные вопросы.
Очень нужно получить рекомендации особенно на последний: как переименовать один или несколько графиков в легенде чарта перед его построением.
Скрытие столбцов датабэнда
Здравствуйте, Алексей,
Спасибо.
К сожалению, эта возможность недоступна и в текущей версии генератора отчетов.BeraleX писал(а): на версии 2007.3.13, немного неудобно в плане редактора кода. Часто свойства и методы приходится у компонентов смотреть в Visual Studio, т.к. в редакторе генератора отчетов (в части закладки "Код", события формы и компонентов формы) они не подсвечиваются. Может быть в более поздних версиях это исправлено? Не могу проверить точно, т.к. версия работает с нашим софтом из дистрибутива, есть некоторые сложности с перекомпиливанием многих модулей.
Нет, все правильно, это требования .Net Framework.BeraleX писал(а): Поэтому попутный вопрос. Почему каждый раз при замене dll-ок приходится перекомпиливать наши модули, связанные с Вашими, и это при условии что Specific Version выставлено в false? Есть какие-нибудь идеи или пути решения, может быть нами упущено что-то из виду?
Совместимость обеспечена, но проверить отчеты будет не лишним делом. В свойствах объекта "отчет" в редакторе свойств есть свойство EngineVersion. Для совместимости с прдыдущими версиями предусмотрено значение EngineV1, которое и будет выбрано по умолчанию для отчетов созданных в предыдущих версиях.BeraleX писал(а):Понимаю что версия старая, и скорее всего мы ее поменяем в самое ближайшее время. Это говорит о достаточной стабильности комопнентов уже на том этапе (2007 год) по крайней мере для нас.
Немного беспокоит вопрос совметимости текущих отчетов, их более 30 штук, есть какие либо предсказуемые проблемы в случае перехода на новую версию?
Измените, пожалуйста, название графика следующим образом:Попробовал новую версию (от 2 февраля 2009 года), сколько не пытался поменять в процессе выполнения название графика в легенде, ничего не получается. А в 2007 это получалось (менял через свойство title). Что делать с этим?
Очень нужно получить рекомендации особенно на последний: как переименовать один или несколько графиков в легенде чарта перед его построением.
Код: Выделить всё
Chart1.Series[0].TitleValue = "1234";
Скрытие столбцов датабэнда
Код: Выделить всё
Chart1.Series[0].TitleValue = "1234";
Может нужно еще дополнительные методы чарта после этого вызывать?
Вызов метода
Код: Выделить всё
Chart1.Series[0].TitleValue = "1234";
на которую повешен результат диалога Ok.
Пробовал вешать и на метод BeforePrint страницы и всего отчета - тот же результат
Скрытие столбцов датабэнда
Небольшое уточнение.
Название серии должно быть незаполнено. Тогда этот код сработает.
Спасибо.
Название серии должно быть незаполнено. Тогда этот код сработает.
Спасибо.
Скрытие столбцов датабэнда
Годится :feelgood:.
Правда в будущем может понадобиться изменить уже названную серию, так что в этом случае стоит говорить скорее о первоначальном задании заголовка серии чем об изменении.
Но в данном случае меня все устраивает.
Спасибо.
ПС
Еще бы узнать результат по топику "Две колонки в итоге кросстаба", есть ли надежда или найдено ли решение,
и вообще будет все замечательно!
Правда в будущем может понадобиться изменить уже названную серию, так что в этом случае стоит говорить скорее о первоначальном задании заголовка серии чем об изменении.
Но в данном случае меня все устраивает.
Спасибо.
ПС
Еще бы узнать результат по топику "Две колонки в итоге кросстаба", есть ли надежда или найдено ли решение,
и вообще будет все замечательно!