In the Server mode, a List View does not have simultaneous access to all the objects of the ListView.CollectionSource's type. Only those objects that are currently visible are loaded in small portions on demand. Each operation that assumes that new visible objects appear (scrolling, paging, grouping, sorting), requires additional data requests. Data-aware operations (grouping, sorting, etc.), are performed by the database server and significantly increases the List View's performance when working with a large number of objects. In this mode, all properties are calculated when it is required (only the visible in the GridView and that is used in the Appearance, Security rules, etc).
In Mobile applications, only the Server mode is supported.
In the InstantFeedback mode, a List View does not have simultaneous access to all the objects of the Collection Source's type as well as in the Server mode. The data-aware operations are performed asynchronously in the background thread, and the control continues responding to a user's actions, while data is being retrieved. By default, the CollectionSourceBase.DisplayableProperties property contains property names from the source collection. In XPO, these are the names of all visible properties and properties listed in XPInstantFeedbackSource.DisplayableProperties. In EF, only visible properties are listed by default. Unlike the Server mode, these lists are populated at once before the grid data is displayed. As a result, all properties listed in CollectionSourceBase.DisplayableProperties can be accessed without additional database requests.
An independent server-mode collection is created as a data source for a lookup ListView when the IModelListView.DataAccessMode option is set to Server or InstantFeedback for that ListView model. However, when the DataSourcePropertyAttribute is applied for the lookup property, the property pointed in the attribute is used as a lookup data source, and the standalone independent server-mode collection is not created and is not used at all. The reason is that the data source property getter contains logic calculated on the client side and the data source is populated by the client application at the moment when the lookup editor requests to display objects. So, the Server or InstantFeedback mode option and the DataSourceProperty attribute do not work simultaneously.
Inline editing is not supported in this mode. If an original object was modified, it does not display in a List View until you commit changes and reload the collection.
For example, when an Action changes an object's property value, this object's instance is created by the separate database request and the property value's modification is not displayed on a grid until you commit changes (or it occurs automatically if the BaseObjectSpace.CommitChanges property is set to true).
If the Appearance and Security rules are applied to an object type in the current List View, and those criteria use objects' properties that are not contained in the CollectionSourceBase.DisplayableProperties collection, these objects' instances are created by the separate database request to check each rule.
If you use the Entity Framework as your ORM system and InstantFeedback data access mode, implement Aggregated collections' cascade deletion as described in the Cascade Deletion for Aggregated Entities section of the Relationships Between Entities in Code and UI topic.