The Form control offers a simple way to render a complex object in a predefined way. Each property is rendered with an appropriate control, both in edit mode and display mode. As a further step we may customize the way some property appears, by supplying custom DetailEdit or DetailDisplay column templates.

You may supply also a custom DetailEdit or custom DetailDisplay Row Type template to have full control on the layout of the edit and/or display views of your Form. Also in this case the use of Forms is more  convenient than defining the same layout directly in the Razor page  because Forms offer several services:

  •  Header and Footer toolbars with standard operation such as switching between edit and detail views, resetting the form, etc.
  • The whole Form may be enclosed in a dialog you may show/hide with javascript instructions. 
  • The Form works as a Client Control (Client Form) if it is created with a Client Helper. In this case the Form defines automatically knockout bindings for all input fields/controls. Automatic binding are inferred automatically by all controls/helpers that are based on Client Templates.
  • Client Forms may be equipped with an undo/redo stack. In this case all operations done on the form fields/controls may be undone/redone with undo/redo toolbar buttons.
  • The Form may work as a shared resource that offers editing services to other entities of the page, by exploiting the dynamicEdit feature.
  • The Form may be attached to a any Items Control(Grid, TreeView) to work as a detail window. In this case most of the Form settings are imported from the Items Control.

 Each form may have an edit View, a display View, and a filter View. The filter View is used to filter data of an Items Control, so it is used only if the Form is attached to an Items Control. 

The Log-in and Register Views of the SPA Live Example, are implemented with Data Moving Plug-in Forms