Web Application Generator

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
Web Application Generator
Friday, September 7, 2012PrintSubscribe
Creating Many-to-Many Fields

The Northwind database features a many-to-many relationship between Territories and Employees.

Many-to-many relationship between Employees and Territories.

The app generator will create a page for EmployeeTerritories that allows editing records directly.

Employee Territories page allows setting up relationships between employees and territories directly.

EmployeeTerritories is also available as a child data view on the Employees page. Selecting an employee will reveal a list of related territories.

Employee Territories child data view allows editing territories associated with the selected employee.

Let’s create a many-to-many field on the employee edit form that will allow selecting territories in a check box list. Each option in the list will represent a territory from the Territories table. The checkbox next to the territory name will be checked if there is a record in the EmployeeTerritories table linking the selected employee with the territory. The relevant EmployeeTerritories records will be inserted or deleted when the user changes the selection of checkboxes and saves the employee record.

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

New Field context menu option for Employees controller.

Give this field the following values:

Property Value
Name Territories
Allow null values true
The value of this field is computed at run-time by SQL expression. true
Label Territories
Items Style Check Box List
Items Data Controller Territories
Data Value Field TerritoryId
Data Text Field TerritoryDescription
Target Controller EmployeeTerritories

Press OK to save the field.

Drag Employees / Fields / Territories field node onto Employees / Views / editForm1 view node.

Dragging Territories field node onto 'editForm1' view node.

Double-click on Employees / Views / editForm1 / Territories data field node.

Territories data field node in editForm1 view of Employees controller.

Change the Columns property:

Property Value
Columns 5

Press OK to save. Switch to the Pages tab. Right-click on Employees page node, and press View in Browser.

View in Browser context menu option for Employees page.

View the details for an employee. Territories field will display a comma-separated list of values associated with the employee.

Territories many-to-many field will render a comma separated list of values.

Press Edit button. All territories will be rendered as a check box list.

When the form is in edit mode, all territories are rendered in a check box list.

Check or uncheck several values, and press OK to save the record. Select the record to verify that the changes were persisted.

Changing the Child Views

The Employee Territories child data view is now unnecessary.

Switch back to the Project Designer. In the Project Explorer, right-click on Employees / container2 / view4 node, and press Delete.

Delete context menu option for 'view4' on Employees page.

Drag view3 node on the left side of view2 to place it in the first position.

Dragging 'view3' view node on the left side of 'view2' view node.     View 'view3' has been placed before 'view2'.

Right-click on Employees page node, and press View in Browser.

View in Browser context menu option for Employees page node in the Project Explorer.

Select an employee from the list, and the Orders and Employees child data view tabs will appear below. The Employee Territories child data view tab is no longer present. The picture also shows the many-to-many field Territories in the master grid view.

Employees page no longer has the Employee Territories data view.

Friday, September 7, 2012PrintSubscribe
Configuring Charts

Let’s create a chart that will graphically present orders broken down by quarter.

Creating the View

Start the Project Designer. In the Project Explorer, activate the Controllers tab. Right-click on Orders / Views node, and press New View.

New View context menu option for Views node of the Orders controller in the Project Explorer.

Give this view the following properties:

Property Value
Id OrdersByQuarter
Type Chart
Label Orders By Quarter

Press OK to save the view.

A chart requires at least two fields. One field will represent the values, and the other will form the x-axis of the chart that will group values by a certain criteria. A chart may have more than one field representing values.

For example, to display a chart of orders grouped by quarter, the OrderID field will represent values and OrderDate will represent the x-axis.

In the Project Explorer, expand the Orders / Fields node. Using Ctrl key, select OrderID and OrderDate fields, and drag them onto Orders / Views / OrdersByQuarter view node.

Dragging 'OrderID' and 'OrderDate' field nodes onto 'OrdersByQuarter' view node.

This will create two data fields. Double-click Orders / Views / OrdersByQuarter / OrderID data field node.

'OrderID' data field in 'OrdersByQuarter' view node of Orders controller.

Assign the following values:

Property Value
Aggregate Count
Chart Bar (Cylinder)

Press OK to save the data field. Double-click Orders / Views / OrdersByQuarter / OrderDate data field node.

'OrderDate' data field in 'OrdersByQuarter' view node of Orders controller.

Assign these values:

Property Value
Data Format String MMM yyy
Chart X, Quarter

Press OK to save.

Viewing the Results

On the Project Designer toolbar, press Browse.

Navigate to the Order Manager page. Select a customer from the first data view. Use the View Selector in the top right corner of Orders data view to switch to Orders By Quarter view.

Using the View Selector to change the view to 'Orders By Date'.

The chart will be displayed, showing the number of orders in each quarter filtered by the selected customer.

Orders By Date chart displayed in the Orders data view.

If you select another customer, the orders will change to reflect the new selection.

Selecting a different customer will change the filtering options for the chart.

Thursday, September 6, 2012PrintSubscribe
Allow Query-by-Example

The application generator automatically configures all data controller fields for adaptive filtering. Only “blob” fields such as pictures and long text fields are excluded. Fields created manually will have filtering disabled. The Allow Query-by-Example property controls if adaptive filtering is allowed for a field.

Disable Filtering

Query-by-Example can be disabled to prevent filtering on a field.

Start the Project Designer. In the Project Explorer, double-click on Products / Fields / ProductName node.

ProductName field of the Products controller in Code On Time web application generator's Project Explorer.

Disable Allow Query-by-Example.

Property New Value
Allow Query-by-Example false

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

Navigate to the Products page. Click on the Product Name header. No filtering options will be available.

Product Name column with filtering options disabled.

The Product Name field will not be available for search in the advanced search bar.

Product Name not available for filtering in the advanced search bar.

Enable Filtering on Large Text Fields

Large text fields do not have filtering enabled because most search operations would not work, such as auto-complete, sampling, and multiple values. For Microsoft SQL Server, the only available search options are “contains” and “does not contain”.

Let’s enable filtering for the Description field in the Categories controller.

In the Project Explorer, double-click on Categories / Fields / Description node.

Description field in the Categories controller in the Project Explorer.

Enable Query-by-Example.

Property New Value
Allow Query-by-Example true

Press OK to save the field.

In the Project Explorer, double-click on Categories / Views / grid1 / Description data field node.

Description data field in grid1 view of Categories controller.

Change the Search Options property.

Property New Value
Search Options $disablesamples, $disablemultiplevalues, $disableautocomplete, $contains, $doesnotcontain

Press OK to save the data field. On the toolbar, press Browse.

Navigate to the Categories page. Activate the dropdown in the Description column header. Two text filters are now available – contains and does not contain.

Description column header filtering options only display 'contains' and 'does not contain'.

The filters will also be available on the advanced search bar.

Description field filter options in the advanced search bar are limited to 'contains' and 'does not contain'.

Continue to Designing the Forms