Reports

Labels
AJAX(112) App Studio(9) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(12) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(178) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(184) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(3) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Reports
Tuesday, December 11, 2012PrintSubscribe
“Report” Action

Application framework uses Microsoft Report Viewer to create data reports in Tiff, Adobe PDF, Microsoft Word and Microsoft Excel formats.

Action “Report” is a shortcut for “ReportAsPdf” action.

Report action on Orders controller.

When no parameters are specified in the Command Argument or Data property of “Report” action, a PDF report will be generated from the current view.

The application framework applies a standard XSLT report template to the data controller XML file to create a report definition in RDLC format.  Then it uses the report definition to produce an output with a help of Report Viewer. The report is rendered on the web server using Local Processing mode of Report Viewer. The report document is streamed out to the client web browser.

Default report created from Orders view 'grid1'.

Parameters can be used to specify the controller, view, template, and various other factors that the application framework will take into account when creating a report. The parameters must be configured in the Data property of action.  The table below shows the available parameters.

Parameter Description
_controller Specifies the data controller to create a report from.
_view Specifies the view to create a report from.
_sortExpession Specifies an expression that will be used to sort data.
 
Example: OrderDate desc
_count Specifies a limit on the number of records in the report.
_template Specifies the name of a custom RDLC template file to use.
[Report Controller Field Filter] Multiple field filters can be specified in one of the following formats:  
1)  ReportControllerFieldName=ClientControllerFieldName

2) ReportControllerFieldName="Static Value"
3) ReportControllerFieldName=@Arguments_SelectedValues
 

If the “_controller” parameter is not specified, then the ReportControllerFieldName refers to the data controller presented to the user on the client. If the parameter is configured, then the filter references the specified data controller.

The ClientControllerFieldName is replaced with an actual value of the specified field in a data row selected on the client at runtime.

The static value must be enclosed in “single” or “double”quotes.

The @Arguments_SelectedValues parameter will pass a list of all selected primary keys.

Examples:
OrderCustomerID=CustomerID
CustomerID='ANTON'
CategoryID="7"

Note that when the Data property is used, user-specified filters will be overridden. Instead, use the Command Argument property. Specify the custom report template, controller, and view.

Example: Employees_grid1.rdlc,Employees,grid1

Passing a Field Value

Let’s create a Report action in the Orders controller to print a subset of order details. The action will be configured to use OrderDetails data controller with rows filters by an OrderID selected on the client at the time the action is triggered.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab and right-click on Orders / Actions / ag4 (ActionBar) – Edit/Delete node. Press New Action.

Creating a new action in action group 'ag4' of Orders controller.

Assign the following properties:

Property Value
Command Name Report
Header Text Print Report of Order Details
Data

_controller=OrderDetails
_view=grid1
OrderID=OrderID

When Key Selected Yes

The highlighted value of OrderID parameter references the OrderID data field of Orders controller. The parameter itself is referencing the field in OrderDetails data controller.

Press OK to save the action. On the toolbar, press Browse.

Navigate to the Orders page, and select an order. On the action bar, press Print Report of Order Details.

Clicking on the action 'Print Report of Order Details'.

Open the PDF document that was downloaded to your hard drive. The report will contain order details filtered by the selected order.

Report of order detail records filtered according to the selected order.

Passing Multiple Field Values

If the data view allows multiple selection, every selected record should be passed to the report filter. The report action above will only pass the first one. Let’s customize the action in order to pass all selected primary keys.

In the Project Explorer, switch to the Pages tab. Double-click on Customers / Orders / container1 / view1 (Orders, grid1) node.

'View1' on Orders page.

Enable multi-selection for the view:

Property New Value
Selection Mode Multiple

Save the view. Switch to the Controllers tab, and double-click on Orders / Actions / ag4 (ActionBar) – Edit/Delete / a100 – Report | Print Report of Order Details node.

Action 'a100' of action group 'ag4' in Orders controller.

Make the following highlighted changes:

Property New Value
Data

_controller=OrderDetails
_view=grid1
OrderID=@Arguments_SelectedValues

Save the action. On the toolbar, press Browse. Navigate to the Orders page, and check boxes next to several orders. On the toolbar, press Print Report of Order Details.

Multiple orders selected.

Open the file. Notice that order details from all selected orders are printed in the report.

Order details from multiple orders are included in the report.

Monday, December 10, 2012PrintSubscribe
Managed Oracle Provider, Report Action Parameters, Azure SDK 1.8

Code On Time release 7.0.6.0 is now a Microsoft.NET 4.0 application. This results in up to 30% increase in the speed of code generation. The benefit is especially visible on multi-core computers to Premium and Unlimited edition customers.

Full support for Managed Oracle Data Provider (ODP) and extended processing of Oracle-specific data types is now a part of the application framework. Learn to create projects with Oracle databases.

Action “Report” and its variations (Report As PDF, Report as Excel, Report as Image, Report as Word)  are extended with reporting parameters. Use Project Designer to configuring Data property of an action with parameters “_controller”, “_view”, “_count”, “_template”, and “_sortExpression”. Developers can also specify a filter referencing values of the data row selected in the browser. A tutorial will be available this week.

Application generator now supports Windows Azure SDK 1.8 released in November of 2012.

The following enhancements and bug fixes are also includes:

  • Custom Membership provider handles "password attempt window start" and "password answer attempt window start" dates.
     
  • Locked-out user will be able to re-try login when "password attempt window" becomes available. The time interval is controller by Password Attempt Window option. Its default value is 10.
     
  • Password reset is also controlled by the same option when user tries to answer the password question.
     
  • Custom Membership provider uses "Comments" as an SQL alias of "Comment" field.
     
  • Compatibility of field length and type for custom membership providers generated from Oracle databases is included.
     
  • Unique identifier columns of type raw(16) are fully supported by application framework in Oracle database projects.
     
  • Quick Find implementation creates dedicated parameters in Oracle apps when Managed ODP provider is detected.
     
  • Long project names will not cause compilation error in Visual Basic projects with the application framework placed in a class library.
     
  • "Hidden" data fields mixed with visible data fields in a data sheet view will not break focusing of cells.
     
  • SQL and Email business rules are not executed twice when processing custom actions.
     
  • Action Navigate will not disable data view events when "_blank" or any other target is placed in front of the value in Command Argument.
     
  • Role provider binds ApplicationName parameter on-demand.
     
  • Fixed the bug with custom Google Translate API key processing.
     
  • Data sheet view with multiple selection will not scroll to the top of the view when a data row is selected.
     
  • The app generator will not fail to start project builder when Visual Studio without Web Developer Tools is installed on a computer. Only "Web Site Factory" projects can be created if that is the case.
     
  • Virtualization node sets now support MoveNext method and Current property to allow easy iteration when implementing virtualization of data controllers.
Friday, December 7, 2012PrintSubscribe
Creating a Custom Report Template

When it becomes necessary to customize your reports beyond the scope of the settings available in the Project Designer, you will need to create a custom report template.

The default report for Customers view of “grid1” is displayed below.

Default report for Customers view of 'grid1'.

Let’s change make the following changes to the report:

  1. Highlight the Contact Name column in yellow.
  2. Change the color of Address header to red.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab and double-click on Customers / Views / grid1 node.

View 'grid1' of Customers controller in the Project Explorer.

Change the following:

Property New Value
Create custom report template true

Press OK to save your changes. On the toolbar, press Browse to generate the template. When complete, select Develop option to open the project in Visual Studio.

In the Solution Explorer, double-click on ~\Reports\Customers_grid1.rdlc file.

Custom report template file selected in Visual Studio's Solution Explorer.

In the Design window that was opened, highlight the cell containing the text “[ContactName]”. On the toolbar, press the Background Color icon.

Changing the background color of the 'Contact Name' column.

Change the background color to yellow and press OK to apply.

Next, highlight the cell containing the “Address” header. On the toolbar, select the Foreground Color icon.

Changing the foreground color of 'Address' column header.

Select the color red and press OK. Save the file.

Switch back to the web application open in your browser and refresh the web page. If you closed it, press Browse in the Project Designer window.

Navigate to the Customers page, and activate the Report | PDF Document option on the action bar.

Creating a report from the list of customers.

Open the file that was saved to your hard drive. The report will be created from the template and will display the customizations.

Customers report with yellow highlight on 'Contact Name' column and red text in 'Address' header.

Continue to “Font” Property