Проблемы отчета с детализацией
Проблемы отчета с детализацией
Добрый день. Помогите пожалуйста решить следующую проблему:
Имею отчет с детализацией в двух вариантах.
1. В одном отчете две страницы. При открытии второй страницы весь отчет, включая первую страницу, перестраивается заново. В случае, когда выводится большое количество данных переход на вторую страницу занимает слишком долгое время.
2. То же самое, но вторая страница находится в другом файле отчета. Работает быстро, но не знаю, как передать коннект к базе данных из основного отчета в подчиненный. То есть, основной отчет вызываю из программы и передаю туда коннект к базе. А как быть с подчиненным отчетом? Он не знает, куда коннектиться.
Игорь Евдокимов
Имею отчет с детализацией в двух вариантах.
1. В одном отчете две страницы. При открытии второй страницы весь отчет, включая первую страницу, перестраивается заново. В случае, когда выводится большое количество данных переход на вторую страницу занимает слишком долгое время.
2. То же самое, но вторая страница находится в другом файле отчета. Работает быстро, но не знаю, как передать коннект к базе данных из основного отчета в подчиненный. То есть, основной отчет вызываю из программы и передаю туда коннект к базе. А как быть с подчиненным отчетом? Он не знает, куда коннектиться.
Игорь Евдокимов
Проблемы отчета с детализацией
Здравствуйте Игорь,
Как вариант, вы можете подписаться на событие GetDrillDownReport и в нем передавать строку подключения для второго отчета.
Спасибо.
Как вариант, вы можете подписаться на событие GetDrillDownReport и в нем передавать строку подключения для второго отчета.
Код: Выделить всё
StiOptions.Engine.GlobalEvents.GetDrillDownReport += new Stimulsoft.Report.Events.StiGetDrillDownReportEventHandler(GlobalEvents_GetDrillDownReport);
Проблемы отчета с детализацией
Спасибо за ответ. Буду пробовать.
Заодно еще один вопрос: есть ли какая-либо возможность при переходе в файл подчиненного отчета выбирать имя файла. Например есть список документов нескольких видов: доверенности, накладные, акты и т.д. Есть желание при клике в строку документа открывать подчиненный отчет с детализацией. При этом для разных типов документов должны быть разные формы (файлы отчетов). Есть ли возможность это сделать?
PS Вы уж извините, что хотим от вашего продукта того, что может быть вы и не задумывали, но уж больно добротный продукт получился. Спасибо за него
Игорь
Заодно еще один вопрос: есть ли какая-либо возможность при переходе в файл подчиненного отчета выбирать имя файла. Например есть список документов нескольких видов: доверенности, накладные, акты и т.д. Есть желание при клике в строку документа открывать подчиненный отчет с детализацией. При этом для разных типов документов должны быть разные формы (файлы отчетов). Есть ли возможность это сделать?
PS Вы уж извините, что хотим от вашего продукта того, что может быть вы и не задумывали, но уж больно добротный продукт получился. Спасибо за него
Игорь
Проблемы отчета с детализацией
Здравствуйте, Игорь.
Спасибо.
Попробуйте для этих целей использовать событие "Перед печатью" (Before Print). Там можно изменить отчёт детализации.IgorEvd писал(а):Заодно еще один вопрос: есть ли какая-либо возможность при переходе в файл подчиненного отчета выбирать имя файла. Например есть список документов нескольких видов: доверенности, накладные, акты и т.д. Есть желание при клике в строку документа открывать подчиненный отчет с детализацией. При этом для разных типов документов должны быть разные формы (файлы отчетов). Есть ли возможность это сделать?
PS Вы уж извините, что хотим от вашего продукта того, что может быть вы и не задумывали, но уж больно добротный продукт получился. Спасибо за него
Код: Выделить всё
Text1_Interaction.DrillDownReport = "d:\DrillDownReport2.mrt";
Проблемы отчета с детализацией
Добрый день. Наконец руки дошли попробовать предложенный Вами способ передачи строки коннекта из основного отчета в подчиненный. К сожалению пока не очень получается. Не вызывается обработчик события GetDrillDownReport.
Я не нашел способа пристегнуть тестовые файлы к сообщению, поэтому выложил сюда
Игорь
Я не нашел способа пристегнуть тестовые файлы к сообщению, поэтому выложил сюда
Игорь
Проблемы отчета с детализацией
Здравствуйте,
Попробуйте использовать следующий код в событии GetDrillDownReport главного отчета:
Спасибо.
Попробуйте использовать следующий код в событии GetDrillDownReport главного отчета:
Код: Выделить всё
((Stimulsoft.Report.Dictionary.StiSqlDatabase)e.Report.Dictionary.Databases[0]).ConnectionString =
((Stimulsoft.Report.Dictionary.StiSqlDatabase)this.Dictionary.Databases[0]).ConnectionString;
e.Report.Compile();
Проблемы отчета с детализацией
Добрый день,
Мне очень помог Ваш совет по поводу вызова подчиненного отчета. Однако возник еще один вопрос: в разные подчиненные отчеты мне необходимо передавать разные параметры. Можно ли динамически менять параметры DrillDown отчета, так же, как я меняю имя файла?
Игорь
Мне очень помог Ваш совет по поводу вызова подчиненного отчета. Однако возник еще один вопрос: в разные подчиненные отчеты мне необходимо передавать разные параметры. Можно ли динамически менять параметры DrillDown отчета, так же, как я меняю имя файла?
Игорь
Проблемы отчета с детализацией
Здравствуйте Игорь,
Динамически изменить параметры, скорее всего, не получится.
Возможно есть другие варианты решения, все зависит от самой задачи, какие параметры необходимо передавать.
Спасибо.
Динамически изменить параметры, скорее всего, не получится.
Возможно есть другие варианты решения, все зависит от самой задачи, какие параметры необходимо передавать.
Спасибо.
Проблемы отчета с детализацией
Добрый день.
Возвращаясь к проблеме передачи коннекта в подчиненный отчет:
Попробовали второй предложенный способ
PS Собираетесь ли вы решать данную проблему в следующем релизе? Если честно - возможность передачи коннекта крайне нужна уже сейчас. Во первых сейчас можно коннектиться только к основной базе данных, а иногда нужно и к архивной и к резервной. А во вторых - нет возможности разрабатывать отчеты на development сервере а тестировать/работать на production сервере, так как разные инстансы базы данных.
Заранее спасибо,
С уважением
Игорь
Возвращаясь к проблеме передачи коннекта в подчиненный отчет:
Попробовали второй предложенный способ
Увы, способ не сработал. Прилагаю файлы с результатами наших изысканий. Посмотрите пожалуйста, все ли мы сделали правильно.Попробуйте использовать следующий код в событии GetDrillDownReport главного отчета:
Code:
((Stimulsoft.Report.Dictionary.StiSqlDatabase)e.Report.Dictionary.Databases[0]).ConnectionString =
((Stimulsoft.Report.Dictionary.StiSqlDatabase)this.Dictionary.Databases[0]).ConnectionString;
e.Report.Compile();
PS Собираетесь ли вы решать данную проблему в следующем релизе? Если честно - возможность передачи коннекта крайне нужна уже сейчас. Во первых сейчас можно коннектиться только к основной базе данных, а иногда нужно и к архивной и к резервной. А во вторых - нет возможности разрабатывать отчеты на development сервере а тестировать/работать на production сервере, так как разные инстансы базы данных.
Заранее спасибо,
С уважением
Игорь
Проблемы отчета с детализацией
Здравствуйте,
Обнаружили проблему. Данный код не работет, если DrillDown отчет и код установлены для компонента датабэнд. Пожалуйста, перенесите данный код с датабэнда, на текстовый компонент.
Данную проблему добавили в наш to-do лист, будем ей заниматься после релиза, который будет в декабре.
Спасибо.
Обнаружили проблему. Данный код не работет, если DrillDown отчет и код установлены для компонента датабэнд. Пожалуйста, перенесите данный код с датабэнда, на текстовый компонент.
Данную проблему добавили в наш to-do лист, будем ей заниматься после релиза, который будет в декабре.
Спасибо.
- Вложения
-
- Report_modified.mrt
- (179.58 КБ) 367 скачиваний