Tutorials

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(8) OAuth Scopes(1) OAuth2(11) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(10) PKCE(2) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(180) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(80) 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
Tutorials
Saturday, March 17, 2012PrintSubscribe
Total and Subtotal: Creating Order Total Field

Let’s add a Total field to the Orders controller. This field will add Subtotal and Freight together to show the final cost of the whole order.

In the Project Explorer, select the Orders controller, and right-click on Fields. Press New Field.

Add New Field in 'Orders' Controller

Give this new field the following settings:

Property Value
Name Total
Type Currency
The value of this field is computed at run-time by SQL Expression
(select sum(unitprice*quantity*(1-discount)) 
from "order details" 
where "Order Details".OrderID = Orders.OrderID) + Orders.Freight
The value of this field is calculated by a business rule expression
CalculateOrderDetailsTotal(orderID) + freight
Label Total
Data Format String c
Values of this field cannot be edited True
Context Fields OrderDetails, Freight

New 'Total' Field properties, Part 1
New 'Total' Field properties, Part 2
New 'Total' Field properties, Part 3

Press OK to save this field.

We’ll need to bind this field to the data views. In the Project Designer, switch to Data Fields tab. On the action bar, press New | New Data Field. Use the following settings:

Properties Value
View editForm1
Category Orders

'Total' data field in 'editForm1' View

Press OK to save the data field. Double-click on Total field again, and create another data field with the following settings:

Properties Value
View grid1
Category N/A

'Total' data field in 'grid1' View

Save the data field, and regenerate the application. Navigate to the Order Form page, and select any order. You will see a Total field that sums up Subtotal and Freight.

New 'Total' field in the Order Form of the web application

Friday, March 16, 2012PrintSubscribe
Total and Subtotal: Creating Subtotal Field

Let’s add a Subtotal field to the order. This field will sum up the extended prices of all order details.

In the Project Explorer, switch to Controllers tab. Right-click on Orders / Fields, and press New Field.

Creating a new field for Orders controller

The new field’s settings will be:

Property Text
Field Name Subtotal
Type Currency
The value of this field is computed at run-time by SQL Expression True
SQL
select sum(unitprice*quantity*(1-discount)) from "order details"
where "Order Details".OrderID = Orders.OrderID
Label Subtotal
Values of this field cannot be edited True
Data Format String c

New 'Subtotal' field settings in Code On Time Designer

Press OK to save the field.

Your application will incorporate this SQL Formula in the SELECT statements composed at runtime. This statement will look similar to:

select *, 
   (
   select sum(unitprice*quantity*(1-discount)) from "order details"
   where "Order Details".OrderID = Orders.OrderID
   ) Subtotal
from 
   "Orders" Orders

This is the output produced when the statement is executed in SQL Management Studio. The actual statement will look more complex, and may include user-defined sorting, filtering, and paging parameters.

Simplified statement of 'Subtotal' SQL Formula calculation in SQL Management Studio

We’ll need to bind this field to views, so that the end user can see the field value.

On the field’s page, switch to the Data Fields tab. On the action bar, press New | New Data Field. Enter the following settings:

Property Text
View editForm1
Category Orders

New 'Subtotal' Data Field in editForm1

Press OK to save the data field. Double-click on the field in the Project Explorer to go back to the list of data fields. Create another data field with the following settings:

Property Text
View createForm1
Category New Orders

New 'Subtotal' Data Field in createForm1

Regenerate the application, and select any order on the Order Form page. You will see the Subtotal field showing the sum of extended prices.

'Subtotal' Field displayed in Order Form page of web application

Tuesday, March 13, 2012PrintSubscribe
Order Details: Reshaping Grid View

The Order Details grid view displays several unnecessary reference fields, such as Order Customer Company Name, Order Employee Last Name, and Order Ship Via Company Name. We will get rid of these redundant fields. Let’s also display the average Unit Price, total Quantity, average Discount, and total sum of Extended Price.

Order Form page with redundant fields and without aggregates

In the Designer, expand to Order Form / c100 / dv101 / grid1 node. Right-click on OrderCustomerCompanyName data field and press Delete. Also, delete the data fields called OrderEmployeeLastName and OrderShipViaCompanyName.

Delete option for data fields in Code On Time Designer

Now that the redundant data fields have been removed, let’s assign aggregates. Double-click on UnitPrice. Change the Aggregate Function property field to “Average”.

'Unit Price' aggregate function of 'Average'

Press OK to save the data field.

Next, double-click on Quantity and change Aggregate Function to “Sum”.

'Quantity' aggregate function of 'Sum'

Save the data field, and double-click on Discount. Change Aggregate Function to “Average”.

'Discount' aggregate function of 'Average'

Press OK, and double-click on ExtendedPrice. Change Aggregate Function to “Sum”.

'Extended Price' Aggregate Function of 'Sum'

Press OK to save Extended Price data field. Generate the application, and navigate to Order Form page. Select any order. You will see that the list of order details will not display redundant order information, and displays aggregates at the bottom of the grid.

Order Form page with aggregates in Code On Time web application