ClientUI ReportViewer facilitates users with the capability to view, search, and navigate a report. To achieve these capabilities, it comes with rich user interface elements that consisted of UXResizablePane, UXNavigationPane, UXVirtualizingListBox, UXTreeView, UXSearchBox, UXToolBar, and UXStatusBar.
The following figure illustrates the rich user interface elements of ClientUI ReportViewer in details.
A bookmarks browser will automatically shown when the report has bookmarks.
In the toolbar and status bar section of the control, you can see various commands which are presented as command buttons. For complete explanation, see the following table.
|Display the current page shown in the content section and the total page count of the report document. You can enter a page number to directly jump to the specific page.|
|Scroll to the previous page in the report document.|
|Scroll to the next page in the report document.|
|Show or hide the thumbnails section.|
|Set the zoom mode to show the actual size of the report document.|
|Set the zoom mode to fit the width of the report document.|
|Set the zoom mode to fit the height of the report document.|
|Magnify the report document size by a preset ratio.|
|The TextBox element to enter search criteria.|
|Export the report document to PDF.|
|Export the report document to HTML.|
|Export the report document to EXCEL.|
|Export the report document to image (JPG, PNG, TIFF).|
|Toggle the ReportViewer control to fill the screen.|
|Print the report document using print file dialog.|
|Copy the highlighted text.|
Although the ClientUI ReportViewer already provides predefined UI elements to allow rich user interaction, you are free to customize any of the elements to suit your application's preferences – thanks to the loosely-coupled architecture design that made the customization possible. You can customize the styles and appearance of the elements entirely by editing the control template using designer tools such as Expression Blend.
Understanding Parameter Editors
Comprehensive report parameter support is also available in the ClientUI ReportViewer control. The parameter window will be automatically displayed with the respective parameters defined in the report document. Based on the parameter type defined, report viewer will use different input control to match the defined parameter type. For more information about report parameter, you can refer to Report Parameter Overview.
The following table describes the control associated to each parameter type.
|Data Type||Input Control||Illustration|
|DateTime||UXDateTimePicker (EditorMode = "Calendar")|
|TimeSpan||UXDateTimePicker (EditorMode = "Clock")|
Parameter with range value
Besides that, report parameter also support range value to be used in a report. In this case, two input controls will be used. Note that, range value is only applicable for numeric data types, DateTime, and TimeSpan.
Parameter with predefined value
In addition, if predefined values are available in the report, UXComboBox will be used to display the parameter options.
You can also use a searchable parameter which utilize UXPageableComboBox as the parameter editor. It can be enabled by set IsSearchable property of report parameter to True.
The report parameter also allow you to perform multiple selection. UXMultipleSelectionComboBox will be used in this scenario. You can enable it by set IsMultipleSelection property of report parameter to True.
Besides that, report parameter also supports linked combo to be used as the input control. It allows the parameter options of the second combo box to be retrieved based on the selected item of first combo box.
ClientUI ReportViewer includes built-in validation for required parameters, i.e., the parameters which IsRequired properties are set to True in the report document. When the Submit button is clicked, the required parameters will be automatically validated. A validation error message will be displayed for each required parameter that has not been filled. Note that Boolean type is excluded as it is considered as False by default.
Built-in validation is also applied for range parameters. You need to ensure that From value is not greater than To value. The following error message will be displayed if the condition is not fulfilled.