[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Collapse]eXpress Persistent Objects
 [Expand]Product Information
 [Expand]Getting Started
 [Expand]Fundamentals
 [Expand]Feature Center
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Examples
 [Expand]Member Tables
 [Collapse]API Reference
  [Collapse]DevExpress.Xpo
   [Expand]AggregatedAttribute Class
   [Expand]AssociationAttribute Class
    AsyncBehavior Enumeration
    AsyncCommitCallback Delegate
    AsyncSelectDataCallback Delegate
    CacheBehavior Enumeration
    CollectionBindingBehavior Enumeration
   [Expand]ColumnDbDefaultValueAttribute Class
   [Expand]ColumnDefaultValueAttribute Class
   [Expand]CommitObjectStubsResult Class
   [Expand]CustomAttribute Class
   [Expand]CustomCriteriaManager Class
   [Expand]DataViewPropertiesCollection Class
   [Expand]DataViewProperty Class
   [Expand]DataViewRecord Class
   [Expand]DbTypeAttribute Class
    DefaultMembersPersistence Enumeration
   [Expand]DefaultMembersPersistenceAttribute Class
   [Expand]DeferredDeletionAttribute Class
   [Expand]DelayedAttribute Class
   [Expand]DisplayNameAttribute Class
   [Expand]ExplicitLoadingAttribute Class
   [Expand]ExplicitUnitOfWork Class
   [Expand]FetchOnlyAttribute Class
   [Expand]GetObjectStubsByKeyQuery Class
    GuidGenerationMode Enumeration
   [Expand]HiddenAttribute Class
   [Expand]ICustomCriteriaOperatorQueryable Interface
   [Expand]ICustomFunctionOperatorQueryable Interface
   [Expand]IDataLayer Interface
   [Expand]IDataLayerAsync Interface
    IdentityMapBehavior Enumeration
   [Expand]IndexedAttribute Class
   [Expand]IndicesAttribute Class
   [Expand]IObjectLayer Interface
   [Expand]IObjectLayerAsync Interface
   [Expand]IObjectLayerEx Interface
   [Expand]IObjectLayerOnSession Interface
   [Expand]ISerializableObjectLayer Interface
   [Expand]ISerializableObjectLayerEx Interface
   [Expand]IXPModificationsStore Interface
   [Expand]IXPObject Interface
   [Expand]IXPSimpleObject Interface
   [Expand]KeyAttribute Class
   [Expand]LoadDataMemberOrderItem Structure
    LockingOption Enumeration
   [Expand]MapInheritanceAttribute Class
    MapInheritanceType Enumeration
   [Expand]MapToAttribute Class
   [Expand]MemberDesignTimeVisibilityAttribute Class
   [Expand]MergeCollisionBehaviorAttribute Class
   [Expand]NestedUnitOfWork Class
   [Expand]NoForeignKeyAttribute Class
   [Expand]NonPersistentAttribute Class
   [Expand]NullableAttribute Class
    NullableBehavior Enumeration
   [Expand]NullableBehaviorAttribute Class
   [Expand]NullValueAttribute Class
   [Expand]ObjectChangeEventArgs Class
    ObjectChangeEventHandler Delegate
    ObjectChangeReason Enumeration
   [Expand]ObjectManipulationEventArgs Class
    ObjectManipulationEventHandler Delegate
   [Expand]ObjectsByKeyQuery Class
   [Expand]ObjectsManipulationEventArgs Class
    ObjectsManipulationEventHandler Delegate
   [Expand]ObjectsQuery Class
   [Expand]ObjectStubsQuery Class
   [Expand]OptimisticLockingAttribute Class
    OptimisticLockingBehavior Enumeration
   [Expand]OptimisticLockingIgnoredAttribute Class
    OptimisticLockingReadBehavior Enumeration
   [Expand]OptimisticLockingReadBehaviorAttribute Class
    OptimisticLockingReadMergeBehavior Enumeration
   [Expand]PersistentAliasAttribute Class
   [Expand]PersistentAttribute Class
   [Expand]PersistentBase Class
    PersistentCriteriaEvaluationBehavior Enumeration
   [Expand]ResolveSessionEventArgs Class
    ResolveSessionEventHandler Delegate
   [Expand]SchemaInitEventArgs Class
    SchemaInitEventHandler Delegate
   [Expand]SerializableObjectLayer Class
   [Expand]SerializableObjectLayerClient Class
    ServerExceptionThrownAction Enumeration
   [Expand]ServerExceptionThrownEventArgs Class
    ServerExceptionThrownEventHandler Delegate
   [Expand]ServerViewPropertiesCollection Class
   [Expand]ServerViewProperty Class
   [Expand]Session Class
   [Expand]SessionManipulationEventArgs Class
    SessionManipulationEventHandler Delegate
   [Expand]SessionObjectLayer Class
   [Expand]SessionOperationFailEventArgs Class
    SessionOperationFailEventHandler Delegate
   [Expand]SimpleDataLayer Class
   [Expand]SimpleObjectLayer Class
   [Expand]SizeAttribute Class
   [Expand]SkipCheckForFeedsAttribute Class
    SortDirection Enumeration
   [Expand]SortingCollection Class
   [Expand]StreamAttribute Class
   [Expand]ThreadSafeDataLayer Class
   [Expand]UnitOfWork Class
   [Expand]ValueConverterAttribute Class
   [Expand]ViewPropertiesCollection Class
   [Expand]ViewProperty Class
   [Expand]ViewRecord Class
   [Expand]VisibleAttribute Class
   [Expand]XPBaseCollection Class
   [Expand]XPBaseObject Class
   [Expand]XPBindingSource Class
   [Expand]XPClassInfoStub Class
   [Expand]XPCollection Class
   [Expand]XPCollection<T> Class
   [Expand]XPCollectionChangedEventArgs Class
    XPCollectionChangedEventHandler Delegate
    XPCollectionChangedType Enumeration
   [Expand]XPCursor Class
   [Expand]XPCustomObject Class
   [Expand]XPDataObject Class
   [Expand]XPDataView Class
   [Expand]XPDelayedProperty Class
   [Expand]XPDictionaryStub Class
   [Collapse]XPInstantFeedbackSource Class
     XPInstantFeedbackSource Members
    [Expand]XPInstantFeedbackSource Constructor
    [Expand]XPInstantFeedbackSource Properties
    [Expand]XPInstantFeedbackSource Events
    [Expand]XPInstantFeedbackSource Methods
   [Expand]XPInstantFeedbackView Class
   [Expand]XPLiteObject Class
   [Expand]XPObject Class
   [Expand]XPObjectSource Class
   [Expand]XPObjectSourcePropertiesCollection Class
   [Expand]XPObjectSourceProperty Class
   [Expand]XPObjectSourceRecord Class
   [Expand]XPObjectStub Class
   [Expand]XPObjectStubCollection Class
   [Expand]XPObjectType Class
   [Expand]XpoDataSource Class
   [Expand]XpoDataSourceInsertedEventArgs Class
    XpoDataSourceInsertedEventHandler Delegate
   [Expand]XpoDefault Class
   [Expand]XPPageSelector Class
   [Expand]XPQuery<T> Class
   [Expand]XPQueryBase Class
   [Expand]XPQueryExtensions Class
   [Expand]XPServerCollectionSource Class
   [Expand]XPServerModeView Class
   [Expand]XPView Class
   [Expand]XPWeakReference Class
  [Expand]DevExpress.Xpo.DB
  [Expand]DevExpress.Xpo.DB.Helpers
  [Expand]DevExpress.Xpo.Exceptions
  [Expand]DevExpress.Xpo.Helpers
  [Expand]DevExpress.Xpo.Metadata
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

XPInstantFeedbackSource Class

The data source for a DevExpress.XtraGrid.GridControl and DevExpress.XtraEditors.SearchLookUpEdit controls that binds these controls to data in Instant Feedback Mode.

Namespace:DevExpress.Xpo
Assembly:DevExpress.Xpo.v19.1.dll

Expanded Syntax

Expanded Remarks

Instant Feedback binding mode is an improvement over the regular server mode. In server mode, the XtraGrid loads data in small portions and delegates all data operations (sorting, grouping, filtering and calculating summaries) to the data server. This is the key to the server mode's high efficiency when working with large volumes of data. The only drawback to using server mode involves data operations when the connection to the server is slow. In this instance, the bound control freezes until the data server completes operations and retrieves results. With Instant Feedback binding mode, data operations are performed asynchronously in a background thread, and both the bound control and the application remain highly responsive. Currently, this mode is supported by the DevExpress.XtraGrid.GridControl and DevExpress.XtraEditors.SearchLookUpEdit controls.

A data source supporting Instant Feedback mode must either implement the DevExpress.Data.Async.IAsyncListServer interface or implement the System.ComponentModel.IListSource interface and return an IAsyncListServer instance via the IListSource.GetList method. The XPInstantFeedbackSource component implements the IListSource interface, and returns the list implementing the IAsyncListServer interface via the IListSource.GetList method.

The XPInstantFeedbackSource object serves as a conduit of information between the control and a target data store. When the control needs to display a specific portion of data, it calls a specific method of the bound XPInstantFeedbackSource object. This method sends a corresponding request to the data store, and while receiving the results, immediately passes them back to the control.

When creating an XPInstantFeedbackSource object, you need to provide descriptive information on the target data table (view) in the target data store. Declare a persistent class (an XPBaseObject descendant) that will correspond to the data table (see Basics of Creating Persistent Objects for Existing Data Tables). Then, pass the persistent class type to the XPInstantFeedbackSource constructor. You can use the ObjectType property, to choose the required persistent class at design time. In Instant Feedback mode, the target data table must contain a single key field, and the persistent class must contain a public property corresponding to the table key. If the data table does not contain a key field or the key is composed of several columns, it cannot be used as a data source.

Note

The XPInstantFeedbackSource is a read-only data source. To enable data editing in server mode, use the XPServerCollectionSource with the XPServerCollectionSource.AllowEdit property set to true.

The XPInstantFeedbackSource can only work with thread-safe properties. Reference properties are not thread safe. So, you should not use reference property descriptors when specifying DisplayableProperties.

Assign the DefaultSorting, DisplayableProperties, FixedFilterCriteria, FixedFilterString, and ObjectType properties before binding the XPInstantFeedbackSource to the GridControl or SearchLookUpEdit. Once bound, changing any of these properties throws an exception.

For additional information on Instant Feedback mode, refer to Large Data Sources: Server and Instant Feedback Modes.

Expanded Example

This example demonstrates how to initialize a XPInstantFeedbackSource, to retrieve data from a "Person.Contact" data table (included in the AdventureWorks database shipped with MS SQL Server). The Person_Contact persistent class is declared, and mapped to the "Person.Contact" data table, using the PersistentAttribute attribute. Then, this class is used as a parameter in the XPInstantFeedbackSource constructor.

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          XPInstantFeedbackSource

Expanded See Also

Is this topic helpful?​​​​​​​