Log In
Home
Support
Demos
Documentation
Blogs
Training
Webinars
[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Document Server
[Expand]Reporting
[Expand]Report Server
[Expand]Dashboard
[Collapse]eXpressApp Framework
 [Expand]Fundamentals
 [Expand]Getting Started
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Functional Testing
 [Expand]Deployment
 [Expand]Task-Based Help
 [Expand]Frequently Asked Questions
 [Collapse]API Reference
  [Expand]DevExpress.EasyTest.Framework
  [Collapse]DevExpress.ExpressApp
   [Expand]BaseObjectSpace Class
    CheckCompatibilityType Enumeration
   [Expand]CollectionSource Class
   [Expand]CollectionSourceBase Class
    CollectionSourceDataAccessMode Enumeration
    CollectionSourceMode Enumeration
   [Expand]CollectionSourceModeAttribute Class
   [Expand]CompositeView Class
    ConfirmationResult Enumeration
    ConfirmationType Enumeration
   [Expand]Controller Class
   [Expand]CreateCustomCollectionSourceEventArgs Class
   [Expand]CreateCustomCurrentObjectDetailViewEventArgs Class
   [Expand]CreateCustomLogonParameterStoreEventArgs Class
   [Expand]CreateCustomLogonWindowControllersEventArgs Class
   [Expand]CreateCustomLogonWindowObjectSpaceEventArgs Class
   [Expand]CreateCustomModelCacheManagerEventArgs Class
   [Expand]CreateCustomModelDifferenceStoreEventArgs Class
   [Expand]CreateCustomObjectSpaceProviderEventArgs Class
   [Expand]CreateCustomPropertyCollectionSourceEventArgs Class
   [Expand]CreateCustomTemplateEventArgs Class
   [Expand]CustomCheckCompatibilityEventArgs Class
   [Expand]CustomHasPermissionToEventArgs Class
   [Expand]CustomizeFormattingCultureEventArgs Class
   [Expand]CustomizeLanguageEventArgs Class
   [Expand]CustomizeTemplateEventArgs Class
   [Expand]CustomizeViewShortcutArgs Class
   [Expand]CustomProcessShortcutEventArgs Class
   [Expand]DashboardView Class
   [Expand]DashboardViewCreatedEventArgs Class
   [Expand]DashboardViewCreatingEventArgs Class
    DatabaseUpdateMode Enumeration
   [Expand]DatabaseVersionMismatchEventArgs Class
   [Expand]DefaultListViewOptionsAttribute Class
   [Expand]DetailView Class
   [Expand]DetailViewCreatedEventArgs Class
   [Expand]DetailViewCreatingEventArgs Class
   [Expand]Frame Class
    FrameContext Enumeration
   [Expand]IModelDifference Interface
   [Expand]IModelDifferenceAspect Interface
   [Expand]IModelExtender Interface
    InformationPosition Enumeration
    InformationType Enumeration
   [Expand]IObjectSpace Interface
   [Expand]IObjectSpaceLink Interface
   [Expand]IObjectSpaceProvider Interface
   [Expand]ISettingsProvider Interface
   [Expand]ISupportNewItemRowPosition Interface
   [Expand]ISupportUpdate Interface
   [Expand]IXafEntityObject Interface
   [Expand]LastLogonParametersReadEventArgs Class
   [Expand]LastLogonParametersReadingEventArgs Class
   [Expand]LastLogonParametersWritingEventArgs Class
   [Expand]ListView Class
   [Expand]ListViewCreatedEventArgs Class
   [Expand]ListViewCreatingEventArgs Class
   [Expand]LoggingOffEventArgs Class
   [Expand]LogonEventArgs Class
   [Expand]LogonFailedEventArgs Class
    LookupEditCollectionSourceMode Enumeration
   [Expand]LookupEditPropertyCollectionSource Class
    MasterDetailMode Enumeration
   [Expand]MessageOptions Class
   [Expand]ModelCacheManager Class
   [Expand]ModelDifferenceStore Class
   [Expand]ModelStoreBase Class
   [Expand]ModuleBase Class
   [Expand]NestedFrame Class
    Nesting Enumeration
    NewItemRowPosition Enumeration
    NewWindowTarget Enumeration
   [Expand]NonPersistentObjectSpace Class
   [Expand]ObjectChangedEventArgs Class
   [Expand]ObjectManipulatingEventArgs Class
   [Expand]ObjectsCountGettingEventArgs Class
   [Expand]ObjectsManipulatingEventArgs Class
   [Expand]ObjectSpaceCreatedEventArgs Class
   [Expand]ObjectView Class
   [Expand]ObjectViewController Class
   [Expand]ObjectViewController<ViewType, ObjectType> Class
   [Expand]ProcessActionContainerEventArgs Class
   [Collapse]PropertyCollectionSource Class
     PropertyCollectionSource Members
    [Expand]PropertyCollectionSource Constructor
    [Expand]PropertyCollectionSource Properties
    [Expand]PropertyCollectionSource Events
    [Expand]PropertyCollectionSource Methods
    SchemaUpdateMode Enumeration
   [Expand]SecuritySystem Class
    SelectionType Enumeration
   [Expand]ShowViewParameters Class
   [Expand]ShowViewSource Class
   [Expand]ShowViewStrategyBase Class
    TargetWindow Enumeration
   [Expand]TemplateContext Structure
    UIType Enumeration
   [Expand]ValidateObjectEventArgs Class
   [Expand]View Class
   [Expand]ViewController Class
   [Expand]ViewController<ViewType> Class
   [Expand]ViewCreatedEventArgs Class
   [Expand]ViewCreatingEventArgs Class
   [Expand]ViewItemsChangedEventArgs Class
    ViewItemsChangedType Enumeration
   [Expand]ViewShortcut Class
   [Expand]ViewShowingEventArgs Class
   [Expand]ViewShownEventArgs Class
    ViewType Enumeration
   [Expand]WebMessageOptions Class
   [Expand]Window Class
   [Expand]WindowController Class
    WindowType Enumeration
   [Expand]WinMessageOptions Class
    WinMessageType Enumeration
   [Expand]XafApplication Class
   [Expand]XafDataView Class
   [Expand]XafDataViewRecord Class
   [Expand]XafInstantFeedbackRecord Class
  [Expand]DevExpress.ExpressApp.Actions
  [Expand]DevExpress.ExpressApp.AuditTrail
  [Expand]DevExpress.ExpressApp.Chart
  [Expand]DevExpress.ExpressApp.Chart.Web
  [Expand]DevExpress.ExpressApp.Chart.Win
  [Expand]DevExpress.ExpressApp.CloneObject
  [Expand]DevExpress.ExpressApp.ConditionalAppearance
  [Expand]DevExpress.ExpressApp.Dashboards
  [Expand]DevExpress.ExpressApp.Dashboards.Web
  [Expand]DevExpress.ExpressApp.Dashboards.Win
  [Expand]DevExpress.ExpressApp.Data
  [Expand]DevExpress.ExpressApp.DC
  [Expand]DevExpress.ExpressApp.DC.ClassGeneration
  [Expand]DevExpress.ExpressApp.Editors
  [Expand]DevExpress.ExpressApp.EF
  [Expand]DevExpress.ExpressApp.EF.Utils
  [Expand]DevExpress.ExpressApp.FileAttachments.Web
  [Expand]DevExpress.ExpressApp.FileAttachments.Win
  [Expand]DevExpress.ExpressApp.Filtering
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Web
  [Expand]DevExpress.ExpressApp.HtmlPropertyEditor.Win
  [Expand]DevExpress.ExpressApp.Kpi
  [Expand]DevExpress.ExpressApp.Layout
  [Expand]DevExpress.ExpressApp.Maps.Mobile
  [Expand]DevExpress.ExpressApp.Maps.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Maps.Web
  [Expand]DevExpress.ExpressApp.Maps.Web.Helpers
  [Expand]DevExpress.ExpressApp.MiddleTier
  [Expand]DevExpress.ExpressApp.Mobile
  [Expand]DevExpress.ExpressApp.Mobile.Editors
  [Expand]DevExpress.ExpressApp.Mobile.MobileModel
  [Expand]DevExpress.ExpressApp.Mobile.SystemModule
  [Expand]DevExpress.ExpressApp.Model
  [Expand]DevExpress.ExpressApp.Model.Core
  [Expand]DevExpress.ExpressApp.Model.NodeGenerators
  [Expand]DevExpress.ExpressApp.ModelEditor
  [Expand]DevExpress.ExpressApp.Notifications
  [Expand]DevExpress.ExpressApp.Notifications.Web
  [Expand]DevExpress.ExpressApp.Notifications.Win
  [Expand]DevExpress.ExpressApp.PivotChart
  [Expand]DevExpress.ExpressApp.PivotChart.Web
  [Expand]DevExpress.ExpressApp.PivotChart.Win
  [Expand]DevExpress.ExpressApp.PivotGrid
  [Expand]DevExpress.ExpressApp.PivotGrid.Web
  [Expand]DevExpress.ExpressApp.PivotGrid.Win
  [Expand]DevExpress.ExpressApp.Reports
  [Expand]DevExpress.ExpressApp.Reports.Web
  [Expand]DevExpress.ExpressApp.Reports.Win
  [Expand]DevExpress.ExpressApp.ReportsV2
  [Expand]DevExpress.ExpressApp.ReportsV2.Web
  [Expand]DevExpress.ExpressApp.ReportsV2.Win
  [Expand]DevExpress.ExpressApp.Scheduler
  [Expand]DevExpress.ExpressApp.Scheduler.Web
  [Expand]DevExpress.ExpressApp.Scheduler.Win
  [Expand]DevExpress.ExpressApp.ScriptRecorder
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Web
  [Expand]DevExpress.ExpressApp.ScriptRecorder.Win
  [Expand]DevExpress.ExpressApp.Security
  [Expand]DevExpress.ExpressApp.Security.Adapters
  [Expand]DevExpress.ExpressApp.Security.ClientServer.Wcf
  [Expand]DevExpress.ExpressApp.Security.EF.Adapters
  [Expand]DevExpress.ExpressApp.Security.Strategy
  [Expand]DevExpress.ExpressApp.Security.Xpo.Adapters
  [Expand]DevExpress.ExpressApp.StateMachine
  [Expand]DevExpress.ExpressApp.SystemModule
  [Expand]DevExpress.ExpressApp.Templates
  [Expand]DevExpress.ExpressApp.Templates.ActionContainers
  [Expand]DevExpress.ExpressApp.TreeListEditors
  [Expand]DevExpress.ExpressApp.TreeListEditors.Web
  [Expand]DevExpress.ExpressApp.TreeListEditors.Win
  [Expand]DevExpress.ExpressApp.Updating
  [Expand]DevExpress.ExpressApp.Utils
  [Expand]DevExpress.ExpressApp.Validation
  [Expand]DevExpress.ExpressApp.Validation.Web
  [Expand]DevExpress.ExpressApp.Validation.Win
  [Expand]DevExpress.ExpressApp.ViewVariantsModule
  [Expand]DevExpress.ExpressApp.Web
  [Expand]DevExpress.ExpressApp.Web.Controls
  [Expand]DevExpress.ExpressApp.Web.Editors
  [Expand]DevExpress.ExpressApp.Web.Editors.ASPx
  [Expand]DevExpress.ExpressApp.Web.SystemModule
  [Expand]DevExpress.ExpressApp.Web.Templates
  [Expand]DevExpress.ExpressApp.Web.Utils
  [Expand]DevExpress.ExpressApp.Win
  [Expand]DevExpress.ExpressApp.Win.Core
  [Expand]DevExpress.ExpressApp.Win.Editors
  [Expand]DevExpress.ExpressApp.Win.Model
  [Expand]DevExpress.ExpressApp.Win.SystemModule
  [Expand]DevExpress.ExpressApp.Win.Templates
  [Expand]DevExpress.ExpressApp.Win.Templates.Navigation
  [Expand]DevExpress.ExpressApp.Workflow
  [Expand]DevExpress.ExpressApp.Workflow.Win
  [Expand]DevExpress.ExpressApp.Xpo
  [Expand]DevExpress.ExpressApp.Xpo.Utils
  [Expand]DevExpress.Persistent.Base
  [Expand]DevExpress.Persistent.Base.General
  [Expand]DevExpress.Persistent.Base.ReportsV2
  [Expand]DevExpress.Persistent.Base.Security
  [Expand]DevExpress.Persistent.BaseImpl
  [Expand]DevExpress.Persistent.BaseImpl.EF
  [Expand]DevExpress.Persistent.BaseImpl.EF.PermissionPolicy
  [Expand]DevExpress.Persistent.BaseImpl.PermissionPolicy
  [Expand]DevExpress.Persistent.Validation
[Expand]CodeRush
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

PropertyCollectionSource Class

Serves as the data source for the nested List Views that display collection properties.

Namespace:DevExpress.ExpressApp
Assembly:DevExpress.ExpressApp.v17.1.dll

Expanded Syntax

Expanded Remarks

When an object is displayed in a Detail View, its collection properties are displayed via nested List Views. All the nested List Views that display collection properties, by default, use instances of the PropertyCollectionSource as data sources.

The PropertyCollectionSource introduces new members as compared to the CollectionSourceBase class. These members provide information on the object whose collection property the Collection Source represents. The following table lists them.

NameDescription
MasterObjectProvides access to the object, whose collection property is represented by the PropertyCollectionSource.
MasterObjectTypeReturns the type of the object whose collection property is represented by the PropertyCollectionSource.
DeclaredTypeReturns the type in which the collection property represented by the PropertyCollectionSource is declared.
MemberInfoProvides access to the IMemberInfo object that contains metadata information on the collection property represented by the PropertyCollectionSource.

To create a PropertyCollectionSource instance, use the XafApplication.CreatePropertyCollectionSource method. There are several overloads of this method. If you use the one that do not includes an dataAccessMode parameter, a value of the Application Model's IModelListView.DataAccessMode property will be used to initialize the CollectionSourceBase.DataAccessMode property of the created collection source. Otherwise, use the overload with the dataAccessMode parameter. In this instance, the DataAccessMode property value from the Application Model will be ignored. By default, nested collections are created in Client mode, because their IModelListView.DataAccessMode property in the Application Model is set to Client.

Note

If you want to create a Collection Source for a nested List View in Server mode, make sure that there is no logic for sorting, filtering or something else in the collection's getter, and there are no subscribers to the collection's events. This logic and subscribers won't be taken into account, because a standalone server collection will be created instead of the original one.

Expanded Inheritance Hierarchy

System.Object
    CollectionSourceBase
       PropertyCollectionSource
          LookupEditPropertyCollectionSource

Expanded See Also

How would you rate this topic?​​​​​​​