Отчет Crystal, ссылающийся на xsd-файл

#crystal-reports

#crystal-отчеты

Вопрос:

Я пытаюсь создать отчет crystal, но я хочу, чтобы была доступна строка подключения, которую я упомянул в файле Web.Config. Кроме того, я хочу создать файл xsd для ссылки на мой файл crystal report. Может кто-нибудь, пожалуйста, направить меня к руководству или форуму, чтобы решить мою проблему?

Комментарии:

1. При использовании конструктора наборов данных он запрашивает строку подключения из конфигурации или позволяет сохранить строку подключения в конфигурации.

Ответ №1:

Спасибо вам всем за помощь. Теперь я могу отображать данные в файле crystal report, используя файл XSD. В xsd-файле есть поля с точно такими же именами, как указано в запросе select, который выводит значения из базы данных. Ниже приведена часть файла xsd, которая содержит имена полей в теге xs:element.

Типы данных этих полей также необходимо упомянуть. Имя файла XSD может быть сохранено по желанию. Имена «Summary_Report_on_portal» и «Summary_Updt» не соответствуют ни одному имени набора данных в коде позади или в полях запроса. Он может быть сохранен по желанию пользователя.

На этот XSD-файл необходимо сослаться в crystal report, используя Database Expert в окне Field Explorer. Имя «Summary_Updt» отображается в новых подключениях, которые могут быть добавлены в отчет crystal. Поля, упомянутые в поле xs:element, видны пользователю при перетаскивании в отчет crystal. Когда пользователь упоминает источник данных в отчете crystal report (dataset), поля в наборе данных сопоставляются со значениями поля XSD. КОД: objBL.Rpt.setDataSource (objBL.ds_shipment_info.Таблицы[0]);

Надеюсь, это достаточно подробно. Дайте мне знать, если кому-нибудь понадобится дополнительная информация

Ответ №2:

вы также можете программно установить источник данных отчета, если вам нужно — я могу предоставить подробную информацию, если вам требуется

между вызовом myReportDocument.Загрузите («myreport.rpt») и myReportDocument.Refresh() (последняя из которых фактически получает данные из базы данных) можно добавить вызов myReportDocument.setDataSource (myDataSource), который принимает объект типа источника данных, который вы можете создать с помощью вызова его конструкторов, с URL источника данных, который вы хотите использовать, его имени пользователя и пароля.

Надеюсь, это поможет

Ответ №3:

другим способом было бы вызвать ReportDocument::SetDatabaseLogon (строка * пользователь, Строка * пароль, Строка * сервер, строка * база данных); перед Refresh(); если вы не хотите повторно использовать соединение. Преимущество этого заключается в простоте, но означает, что вы не используете повторно источники данных.