Skip to main content
.NET Framework 4.5.2+

XPBindingSource.DataSource Property

Gets or sets a data source the XPBindingSource binds to a control.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v24.1.dll

NuGet Package: DevExpress.Xpo

Declaration

[DefaultValue(null)]
public object DataSource { get; set; }

Property Value

Type Default Description
Object null

An object that represents a data source for the XPBindingSource to use.

Remarks

The XPBindingSource component can use data from the following data sources:

  • XPO collections
  • System collections (see Collections)
  • Custom collections
  • Persistent objects

The XPBindingSource accepts generic and nongeneric collections.

The XPBindingSource supports most XPO collections fully, for example:

System collections, custom collections, and persistent objects may have the following limitations:

Description

Result

Example

A data source does not implement at least one of the following: IBindingList or INotifyPropertyChanged.

Changes within the data source do not trigger the ListChanged event, because the data source cannot notify the XPBindingSource of any changes.

A generic collection does not implement IXPDictionaryProvider.

Set the Dictionary or the ObjectClassInfo property manually, because the XPBindingSource cannot acquire the data source’s metadata.

A nongeneric collection does not implement IXPClassInfoProvider.

Set the ObjectClassInfo property or both the Dictionary and ObjectType properties manually, because the XPBindingSource cannot acquire the data source’s metadata.

A data source does not implement IXPSessionProvider.

After the XPBindingSource binds a data source to a control, you cannot add new elements to the data source. You can add new elements to a bound data source only within a Session. Sessions are created only for data sources that implement the IXPSessionProvider interface.

The following code snippets (auto-collected from DevExpress Examples) contain references to the DataSource property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also