- 4 min to read
XAF automatically generates Views as a part of the UI and uses them to show objects. Views have access to a specified data store and allow end-users to browse and edit data. XAF uses three main View types which are View class descendants: a Detail View, List View, and Dashboard View. This topic describes the View types and how to access and customize them.
Composite View and Object View
The ObjectView class (a CompositeView descendant) specifies the Object View and has the DetailView and the ListView sub-types. The ObjectView and its descendants are bound to data directly - to a single data object, or an object collection.
The Detail View has two Edit modes: Edit and View. WinForms applications display a Detail View in the Edit mode only, while ASP.NET and Mobile applications can use either mode and switch between them (see DetailView.ViewEditMode).
List Views use List Editors (see ListEditor) to show data. XAF creates a List Editor's control before displaying a List View. The default controls are GridControl (Windows Forms applications), ASPxGridView (ASP.NET Web applications), and List (Mobile applications). Refer to the List View Column Generation topic to learn how XAF generates columns for List Views.
XAF has a special List View type - the Lookup List View. The Lookup List View is displayed in Lookup Property Editors or pop-up windows and contains fewer columns than the regular List View. You can use a regular List View as a Lookup List View and vice versa.
The DashboardView class defines Dashboard Views. They are not bound to data directly and display several Views side-by-side in a single Frame. These embedded Views reside within DashboardViewItem objects. XAF creates a nested Frame for each DashboardViewItem before displaying a Dashboard View. These Frames show the DashboardViewItems' Views.
Mobile applications do not support Dashboard Views.
You can customize Views in your application, for example, change the editor's layout in a Detail View, or a column's visibility in a List View, using one of the following approaches:
Customize Views in the Model Editor
Customize Views at Runtime
The following topics describe how end-users can customize their views:
Access and Customize Views in Code