Designer

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
Designer
Thursday, June 7, 2012PrintSubscribe
Lookup of User Identity

Both name and id of a user selected in a lookup window can be captured in a database table when necessary. Let’s set up a lookup field to capture both properties of the user identity.

Start SQL Server Management Studio. In the Object Explorer, right-click Database / Northwind / Tables / dbo.Orders table node, and select Design option.

Design Orders table in the Northwind database using SQL Server Management Studio.

Add two columns with the following settings:

Column Name Data Type Allow Nulls
OwnerID uniqueidentifier True
OwnerName nvarchar(50) True

Save the table modification. Refresh the Orders controller.

Refresh the Orders table.

Regenerate the project. Navigate to the Orders page, and edit a record. The OwnerID and OwnerName fields will be visible at the bottom of the form, but are currently only simple text boxes.

OwnerID and OwnerName fields are rendered as simple text boxes.

Let’s configure the OwnerID field as a User Id Lookup and have it copy the user name into OwnerName field. The OwnerName will become an alias of OwnerID data field. Only Administrators will be allowed to modify the owner of the record.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Double-click on Orders / Fields / OwnerID field node.

OwnerID field in the Orders controller in Code On Time Project Explorer.

Make the following changes:

Property New Value
Items Style User Id Lookup
Copy OwnerName=UserName
“Write” Roles Administrators

Press OK to save the field. In the Project Explorer, double-click on Orders / Views / editForm1 / c1 – Orders / OwnerID data field node.

OwnerID data field of editForm1 view of Orders controller.

Assign an alias for the data field:

Property New Value
Alias OwnerName

Press OK to save the data field. In the Project Explorer, right-click on Orders / Views / editForm1 / c1 – Orders / OwnerName data field node, and select Delete option.

Delete OwnerName data field of editForm1 view in Orders controller.

Confirm the operation. On the toolbar, select Browse option to regenerate the web application.

Navigate to the Orders page, and edit a record. If your user account belongs to the Administrators role, then the field is rendered as a lookup.

OwnerName field rendered as a User Id Lookup.

Activate the lookup, and a lookup window will open and display a list of users.

List of users displayed in the lookup window.

Select a user from the lookup, and the name of the user will be copied into the field Owner Name.

User Name inserted into the Owner Name field.

Save the field. If you look at the record in the database, both UserId and UserName fields have been populated.

Both UserID and UserName have been inserted into the record.

Wednesday, June 6, 2012PrintSubscribe
Creating Multiple Views with the Same Base

Multiple views can be created to support alternative sort and filter expressions. If the views have the same data field configuration, then it is possible to create “empty” views that reference a shared base view.

Let’s create several views in the Customers data controller. Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Customers / Views node, and select New View.

Create New View in Customers controller.

Give this view the following properties:

Property Value
Id customersfromUSA
Type Grid
Command command1
Label Customers from USA
Header Text This is a list of customers from the United States.
Filter Expression Country='USA'
Base View Id grid1

Press OK to save the view. In the Project Explorer, right-click on Customers / Views node and select New View.

New View for Customers controller.

Configure the view:

Property Value
Id customersfromUK
Type Grid
Command command1
Label Customers from UK
Header Text This is a list of customers from the United Kingdom.
Filter Expression Country='UK'
Base View Id grid1

Press OK to save the view. The Project Explorer window should look like the picture below.

CustomersfromUSA and CustomersfromUK views are based on grid1 view.

On the toolbar, press Browse.

When the application loads in the browser window, navigate to the Customers page. On the action bar, activate the View dropdown and select Customers from USA. The view inherits data fields from the base view, grid1. Only customers from USA are displayed.

Customers from USA view inherits the data field configuration from the base view.

The Customers from UK view also inherits the same data field set, but filters to only customers from the UK.

Customers from UK also inherits the base view's data field configuration, but with different filtering.

If the base view of grid1 is modified, then the views will change accordingly.

Switch back to the Project Designer. In the Project Explorer, right-click on Customers / Views / grid1 / Postal Code data view node, and select Delete option.

Delete the PostalCode data field from the 'grid1' view of Customers controller.

Confirm the operation. In the Project Explorer, right-click on Customers / Views / grid1 view node, and click New Data Field option.

New Data Field in Customers controller.

Assign the Field Name for the data field:

Property Value
Field Name Fax

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

Navigate to the Customers page. The default grid1 view will no longer have Postal Code column, and will now have Fax column at the right.

'Grid1' view no longer has PostalCode, has Fax instead.

On the right side of the action bar, activate the View dropdown and select Customers from USA. This view shows the same set of data fields as grid1.

CustomersfromUSA view no longer has PostalCode, has Fax column instead, just like grid1 view.

The same data field configuration applies to Customers from UK view.

CustomersfromUK view has the same changes as grid1 base view.

Wednesday, June 6, 2012PrintSubscribe
Using Alternative Views for Data Lookup

Lookup fields, when activated, display a view to allow the users to select an item. By default, the first grid view in the controller is used. Let’s create and use an alternate view for the CustomerID lookup field in the Orders controller.

Start the Project Designer. In the Project Explorer, switch to the Controllers tab. Right-click on Customers / Views and select New View option.

Create New View in Customers controller in Code On Time Project Explorer.

Configure the new view with the following values:

Property Value
Id grid2
Type Grid
Command command1
Label Customers from USA
Header Text This is a list of customers from the United States.
Filter Expression Country='USA'

Press OK to save the view.

Next, add all data fields that exist in grid1 except Country. In the Project Explorer, right-click on Customers / Views / grid2 node, and select New Data Field option.

New Data Field in 'grid2' view of Customers controller.

Specify the field name for the data field:

Property Value
FieldName CustomerID

Press OK to save the data field. Create the rest of the data fields:

Field Name
CompanyName
ContactName
ContactTitle
Address
City
Region
PostalCode
Phone

On the toolbar, press Browse. When the application starts in the web browser, navigate to Orders page. Edit a record, and activate the lookup for Customer Company Name.

Customer Company Name lookup on the Orders edit form.

The lookup window will display Customers (grid1) view. Click on the View dropdown on the right side of the action bar and select Customers from USA. The view grid2 will be displayed, showing only customers from USA. There will not be a Country column.

Select Customers from USA view using the view selector.

Let’s configure Orders.CustomerID lookup field to use grid2 by default. Switch back to the Project Designer. Double-click on Orders / Fields / CustomerID field node.

CustomerID field of Orders controller.

Change the Items Data View property:

Property New Value
Items Data View grid2

Press OK to save the field. To prevent users from selecting Customers from USA view on other pages, let’s remove the view from the view selector.

In the Project Explorer, double-click on Customers / Views / grid2 view node.

image

Prevent the view from showing up in the view selector:

Property New Value
Show in View Selector False

Press OK to save the view. On the toolbar, select Browse. Navigate to the Orders page, and edit a record. Activate the Customer Company Name lookup. The grid2 view will be displayed.

Customer Company Name lookup using the 'Customers from USA' view.