Let’s add an Extended Price field to show the final price of each line item in the order. This field will multiply price by quantity, and factor in the discount.
Switch to the Project Explorer, and select the Controllers tab. Expand OrderDetails, and right-click on Fields. Select New Field option.
![Create New Field option for 'OrderDetails' controller in Code On Time Designer Create New Field option for 'OrderDetails' controller in Code On Time Designer](/blog/2012/03/order-details-add-extended-price-field/image02.png)
For the new field, enter the following settings:
Property | Text |
Name | ExtendedPrice |
Type | Currency |
The value of this field is computed at run-time by SQL Expression | True |
SQL Formula | OrderDetails.UnitPrice * OrderDetails.Quantity * (1 - OrderDetails.Discount)
|
Label |
Extended Price |
Data Format String |
c |
Values of this field cannot be edited |
True |
![ExtendedPrice calculated field settings in Code On Time web application generator ExtendedPrice calculated field settings in Code On Time web application generator](/blog/2012/03/order-details-add-extended-price-field/image04.png)
Press OK to save the field. The OrderDetails alias used in the SQL Expression field above is referring to command1 of the Order Details controller. The text of this command can be found at Order Details / Commands / command1 node.
!['OrderDetails' command1 Text 'OrderDetails' command1 Text](/blog/2012/03/order-details-add-extended-price-field/image06.png)
Your application will incorporate the SQL Formula in the SELECT statements composed at runtime. The statement will be equivalent to the following simplified example.
select *,
OrderDetails.UnitPrice * OrderDetails.Quantity *
(1 - OrderDetails.Discount) ExtendedPrice
from "Order Details" OrderDetails
This is the output produced in SQL Management Studio if you try executing the simplified statement.
![Result of 'SQL Formula' incorporated in SELECT statement Result of 'SQL Formula' incorporated in SELECT statement](/blog/2012/03/order-details-add-extended-price-field/image08.png)
To make sure that the field will be displayed in the application pages, we’ll bind the field to the data view using data fields. Go back to the field. Select the Data Fields tab. On the action bar, press New | New Tab.
!['New Data Field' option in Code On Time Designer 'New Data Field' option in Code On Time Designer](/blog/2012/03/order-details-add-extended-price-field/image10.png)
Set the following settings for the data field:
Property |
Text |
View |
createForm1 |
Category |
New Order Details |
![New data field in 'createForm1' New data field in 'createForm1'](/blog/2012/03/order-details-add-extended-price-field/image12.png)
Press OK to save the data field. Use the same method to create two more data fields:
Property |
Text |
View |
editForm1 |
Category |
Order Details |
Property |
Text |
View |
grid1 |
Category |
n/a |
![List of new data fields in Code On Time Designer List of new data fields in Code On Time Designer](/blog/2012/03/order-details-add-extended-price-field/image14.png)
Regenerate the application, and navigate to Order Form page. Select an order. For each order detail, you will see a calculated Extended Price field.
![Extended Price calculated field added to Order Details controller Extended Price calculated field added to Order Details controller](/blog/2012/03/order-details-add-extended-price-field/image16.png)