Отчет без предопределенного источника

CheChe
отредактировано 09:21 Раздел: FastReport .NET
Столкнулся с проблемкой следующего характера:

1. Создал шаблон отчета где в бэнде Data создал два TextObject [MySource.C_DOC] и [MySource.NDOC]
2. Раздел "Источник данных" пустой, соответственно бэнд Data также не ассоциирован с источником.
3. В приложении обращаюсь к отчету и передаю набор данных через SqlDataSource
                wrViewReport.ReportFile = "~/App_Data/r1.frx";
                wrViewReport.Report.SetParameterValue("my_connection_string","Dsn=FireBird");
                wrViewReport.Report.RegisterDataAsp(SqlDataSource, "MySource");

Как можно в отчете ассоциировать бэнд Data с зарегистрированным источником и определить для ИД MySource строку соединения?

Комментарии

  • отредактировано 09:21
    DataBand data = wrViewReport.Report.FindObject("Data1") as DataBand;
    data.DataSource = wrViewReport.Report.GetDataSource("MySource");
    

    MySource в отчете - это источник данных, строки соединения у него нет.
  • CheChe
    отредактировано 09:21
    Получается что в режиме run-time необходимо создать(зарегестрировать) соединение в рамках которого будет существовать наш источник MySource?
    Тогда вопрос ... можно ли зарегить из приложения или в коде отчета соединение в ИД?
  • CheChe
    отредактировано 09:21
    спасибо .. заработало
                    FastReport.Report report = new FastReport.Report();
                    report.Load("r1.frx");
                    report.RegisterDataAsp(SqlDataSource, "MySource");
                    report.GetDataSource("MySource").Enabled = true;
    
                    FastReport.DataBand data = report.FindObject("MyData") as FastReport.DataBand;
                    data.DataSource = report.GetDataSource("MySource");
    
                    wrViewReport.Report = report;
    

    таким образом набор данных формируется на стороне приложения а шаблон отчета используем на подобе MasterPage в VS2008 .. главное чтобы передаваемые имена колонок совпадали с TextObject в нашем шаблоне
  • отредактировано 09:21
    Вообще, такой отчет можно сделать в дизайн-тайм Visual Studio. Положите WebReport и SqlDataSource на форму, в WebReport выберите источник данных - SqlDataSource, и создавайте полноценный отчет с источником данных. Тогда вот это будет не нужно:
    DataBand data = wrViewReport.Report.FindObject("Data1") as DataBand;
    data.DataSource = wrViewReport.Report.GetDataSource("MySource");
    
  • CheChe
    отредактировано 09:21
    AlexTZ написал: »
    Вообще, такой отчет можно сделать в дизайн-тайм Visual Studio. Положите WebReport и SqlDataSource на форму, в WebReport выберите источник данных - SqlDataSource, и создавайте полноценный отчет с источником данных. Тогда вот это будет не нужно:

    я реализую схему SQL(множество) -> SOURCE(один) -> FRX(множество) ... т.е. у меня есть набор sql запросов и набор шаблонов frx a роль source это например SqlDataSource который выполняет sql запросы которые я передаю ... таким образом реализуется прозрачность связей между sql и frx ... да и БД может быть любой .. т.к. работу с БД реализует приложение

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.