Ideally, you can serialize all reports in XML format and return a collection of their paths on the server, which can be directly used with an UriReportSource
and set for the navigate to report action
in the ReportCatalog
If not, the approaches are to gather the information for all existing reports in a collection and use an user function
and a binding
to the TextBox.Action
property. The user function would return a NavigateToReportAction
For example, the ReportManager
gets the current assembly and extracts all types from it. Then it checks if each type is actually a Telerik.Reporting.IReportDocument
. If yes, there is created a ReportInfo
object for that type. Note the ReportInfo
class has a property AssemblyQualifiedName
, which gets the assembly qualified name of the stored type.
can be extended with a property, which stores the paths of TRDX files, retrieved by searching the reports project's directory. And another one pointing the report format.
Also the ReportInfo
can be extended with a property that return a Telerik.Reporting.Report
- the deserialized TRDX file
or an instance of the type
Then in the user function, you can use these fields to determine what type of report source
to be created and assign it to the NavigateToReportAction.
There are many approaches to create a library with mixed report formats and you have to consider yours with your custom requirements.
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.