Application Builder

Labels
AJAX(112) App Studio(7) 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(177) 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(183) 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(2) 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
Application Builder
Thursday, December 20, 2012PrintSubscribe
Order Form Sample–Part 37

A new Report action must be configured in the Orders data controller. The action will produce a PDF output using the custom report template from the “order details” data set filtered by a selected order ID.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Orders / Actions / ag2 (Form) and press New Action.

Creating a new action in 'ag2' of Orders controller.

Assign the following values:

Property Value
Command Name Report
Header Text Order Report
Data

_controller=OrderDetails
_view=editForm1
_template=OrderDetails_report1.rdlc
_sortExpression=OrderID,ProductProductName
OrderID=OrderID

When Key Selected Yes

Press OK to save.

The highlighted parameters will instruct the reporting engine of application framework to use a specific data controller and report template.

The last expression is the filter that will limit  OrderDetails data set by the order ID that was selected on the client in the data view of Orders when action has been activated.

In the Project Explorer, drop Orders / Actions / ag2 (Form) / a100 – Report | Order Report to the left side of a1 – Edit action node to place it first in the action group.

Dropping action 'a100' on the left side of 'a1'.     Action 'a100' placed first in the heirarchy.

On the toolbar, press Browse. Navigate to the Order Form page, and select an order. Click on Order Report button to see the printable report with a content formatted according to the template.

'Order Report' action is now present on the order form

If you were to click on the Print icon in the top or bottom row of action buttons, then a standard report with a list of order fields will be produced on the server.

Click on the Edit button. Notice that the Order Report button disappears.

'Order Report' action is not present in 'edit' mode.

Let’s make sure that a click on the Print icon will yield the customized Order Report, and that the same report is also accessible in edit mode.

Configuring “Print” Icon

The Print icon always activates the first “Report” action in any group with “Action Bar” scope.

In the Project Explorer, hold down Ctrl key and drop a100 – Report | Order Report node onto Orders / Actions / ag7 (ActionBar) – Report action group node.

Copying action 'a100' into action group 'ag7'.     Action 'a100' duplicated in action group 'ag7'.

Next, drop a100 – Report | Order Report node on the left side of a1 – ReportAsPdf action node to place it first.

Dropping 'a100' action on the left side of action 'a1'.     Action 'a100' placed first in action group 'a100'.

The Print icon will now trigger Orders / Actions / ag7 (ActionBar) – Report / a100 – Report | Order Report action.

Order Report Action in Edit Mode

While holding Ctrl key, drop Orders / Actions / ag2 (Form) / a100 – Report | Order Report onto ag2 (Form) action group node to duplicate the action.

Duplicating action 'a100' in the same action group.    Duplicate of 'a100' created.

Drag a101 – Report | Order Report on the left side of a4 – Update when Edit to place it before the target.

Dropping action 'a101' before action 'a4'.     Action 'a101' placed before action 'a4'.

Double-click on a101 – Report | Order Report node, and make the following change:

Property New Value
When Last Command Name Edit

Press OK to save. This action button Order Report will now appear when the form is in edit mode.

Thursday, December 20, 2012PrintSubscribe
Order Form Sample–Part 36

If the report was created at this time, it will look like the picture below.

Sample report with a few imperfections.

There are still a few things to change:

  1. Right-align field labels in the second column.
  2. Format Unit Price, Extended Price, Subtotal, Freight, and Total as currency.
  3. Format Order Date, Required Date, and Shipped Date on the left side, and hide the time.
  4. Format Discount as percentage.

Right-Align

In Visual Studio report designer, select all field labels in the right-hand column by clicking on them while holding Ctrl key. On the toolbar, press the Align Right icon.

Aligning all field labels on the right side to the right.

Format as Currency

Right-click on the cell containing Unit Price, and press Text Box Properties.

Activating 'Text Box Properties' context menu option for 'UnitPrice' cell.

Switch to the Number section, and select “Currency” from the list.

Formatting a field as currency.

Press OK to save. Perform the same operation on Subtotal, Freight, Total, and Extended Price text boxes.

Format As Date

Select the three date fields: Order Date, Required Date, and Shipped Date. Press the Align Left button on the toolbar.

Aligning the date fields to the left.

Right-click on the first field, Order Date, and press Text Box Properties.

Activating 'Text Box Properties' context menu option for 'OrderDate' field.

Switch to Number section, and make the following changes.

Property Value
Category Date
Type *Monday, January 31, 2000

The screen will look like below:

Configuring a text box as a date field.

Press OK to save. Make the same changes to Required Date and Shipped Date fields.

Format as Percentage

Right-click on Discount field, and press Text Box Properties.

Activating 'Text Box Properties' context menu option for 'Discount' field.

Switch to the Number section, and select Percentage from the list.

Formatting a field as a percentage.

Press OK to save. Make sure to save the report file as well.

Finalized Report

Now that the minor imperfections have been removed, the report will look more like the picture below.

Order Report with the imperfections fixed.

The next step will be to add an action that will activate the report.

Thursday, December 20, 2012PrintSubscribe
Order Form Sample–Part 35

Let’s add header and footer elements that will display information about the order.

Header

Drag the Text Box item from the Toolbox into the center of the header area.

Dropping a text box element onto the report header area.

Double-click on the text box and type in “Order #[OrderID]”. The bracketed statement will automatically be replaced by an expression that evaluates as the OrderID of the first order detail at run-time.

Updating the text of the text box.

Select all the text. On the toolbar, set the Font Size to “20”. Make the text bold and underlined. Using the handles on the textbox, expand the box so that all the text is visible on one line.

Expanding the size of the text box to fit the text.

Drag two more Text Box elements onto the left side of the header. Insert the following text:

Text
Customer:
[OrderCustomerCompanyName]

Bold the text in the first box, and expand the second text box.

Adding a pair of text boxes to display a field.

Configure a few more text boxes shown next.

Employee: [OrderEmployeeLastName]
Order Date: [OrderOrderDate]
Required Date: [OrderRequiredDate]
Shipped Date: [OrderShippedDate]

This is how the header may look in the report designer.

Five fields on the left side of the header area of the report.

Create five more pairs of text boxes in the next column.

Address: [OrderShipAddress]
City: [OrderShipCity]
Region: [OrderShipRegion]
Postal Code: [OrderShipPostalCode]
Country: [OrderShipCountry]

For reference, see the next picture.

Five fields on the right side of the header for the report.

Footer

Insert the following text box pairs in the left side of the footer area:

Ship Name: [OrderShipName]
Ship Via: [OrderShipViaCompanyName]

Two fields on the left side of the report footer.

On the right side of the footer, add placeholders for Subtotal, Freight, and Total.

Subtotal:  
Freight: [OrderFreight]
Total:  

The footer will look as in the following screenshot:

Three fields on the right side of the report footer.

The Subtotal and Total fields need to be calculated. Right-click on the text box to the right of “Subtotal”, and press Expression.

'Expression' context menu option for a text box.

Specify the following expression:

Property Value
Expression
=Sum(Fields!ExtendedPrice.Value, "OrderDetails")

Press OK to insert the expression into the text box.

Right-click on the text box next to “Total”, and press Expression. Specify the following expression:

Property Value
Expression
=Sum(Fields!ExtendedPrice.Value, "OrderDetails") + First(Fields!OrderFreight.Value, "OrderDetails")

Press OK to save.

Completed Order Report rldc file.

The last step is to perform some minor changes to the rendering of data.