[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
[Collapse]eXpressApp Framework
 [Expand]Fundamentals
 [Expand]Getting Started
 [Expand]Concepts
 [Expand]Design-Time Features
 [Expand]Deployment
 [Expand]Task-Based Help
  Frequently Asked Questions (FAQ)
 [Collapse]API Reference
  [Expand]DevExpress.EasyTest.Framework
  [Expand]DevExpress.ExpressApp
  [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.Mobile.Templates
  [Collapse]DevExpress.ExpressApp.Model
    ActionContainerOrientation Enumeration
    AllowAdd Enumeration
   [Expand]DetailViewLayoutAttribute Class
    GroupInterval Enumeration
   [Expand]IModelAction Interface
   [Expand]IModelActionContainerViewItem Interface
   [Expand]IModelActionDesign Interface
   [Expand]IModelActions Interface
   [Expand]IModelApplication Interface
   [Expand]IModelAssemblyResourceImageSource Interface
   [Expand]IModelBand Interface
   [Expand]IModelBandsLayout Interface
   [Expand]IModelBaseChoiceActionItem Interface
   [Expand]IModelBOModel Interface
   [Expand]IModelBOModelClassMembers Interface
   [Expand]IModelChoiceActionItem Interface
   [Expand]IModelChoiceActionItemChildItemsDisplayStyle Interface
   [Expand]IModelChoiceActionItems Interface
   [Expand]IModelClass Interface
   [Expand]IModelClassDashboardsVisibility Interface
   [Expand]IModelClassInterfaces Interface
   [Expand]IModelClassReportsVisibility Interface
   [Expand]IModelColumn Interface
   [Expand]IModelColumns Interface
   [Expand]IModelColumnSummary Interface
   [Expand]IModelColumnSummaryItem Interface
   [Expand]IModelCommonMemberViewItem Interface
   [Expand]IModelCompositeView Interface
   [Expand]IModelControlDetailItem Interface
   [Expand]IModelController Interface
   [Expand]IModelControllerActions Interface
   [Expand]IModelControllers Interface
   [Expand]IModelDashboardView Interface
   [Expand]IModelDashboardViewItem Interface
   [Expand]IModelDetailView Interface
   [Expand]IModelDisableReasons Interface
   [Expand]IModelFileImageSource Interface
   [Expand]IModelImageSource Interface
   [Expand]IModelImageSources Interface
   [Expand]IModelInterfaceLink Interface
   [Expand]IModelLayoutElementWithCaption Interface
   [Expand]IModelLayoutElementWithCaptionOptions Interface
   [Expand]IModelLayoutGroup Interface
   [Expand]IModelLayoutItem Interface
   [Expand]IModelLayoutManagerOptions Interface
   [Expand]IModelListView Interface
   [Expand]IModelListViewSplitLayout Interface
   [Expand]IModelLocalization Interface
   [Expand]IModelLocalizationGroup Interface
   [Expand]IModelLocalizationItem Interface
   [Expand]IModelLocalizationItemBase Interface
   [Expand]IModelMember Interface
   [Expand]IModelMemberViewItem Interface
   [Expand]IModelNode Interface
   [Expand]IModelNodesGeneratorUpdater Interface
   [Expand]IModelObjectView Interface
   [Expand]IModelOptions Interface
   [Expand]IModelPropertyEditor Interface
   [Expand]IModelReason Interface
   [Expand]IModelSchemaModule Interface
   [Expand]IModelSchemaModules Interface
   [Expand]IModelSorting Interface
   [Expand]IModelSortProperty Interface
   [Expand]IModelSplitLayout Interface
   [Expand]IModelStaticImage Interface
   [Expand]IModelStaticText Interface
   [Expand]IModelSynchronizable Interface
   [Expand]IModelTabbedGroup Interface
   [Expand]IModelTemplate Interface
   [Expand]IModelTemplates Interface
   [Expand]IModelToolTip Interface
   [Expand]IModelToolTipOptions Interface
   [Expand]IModelView Interface
   [Expand]IModelViewController Interface
   [Expand]IModelViewItem Interface
   [Expand]IModelViewItems Interface
   [Expand]IModelViewLayout Interface
   [Expand]IModelViewLayoutElement Interface
   [Expand]IModelViews Interface
   [Expand]IModelWindowController Interface
   [Expand]ISupportControlAlignment Interface
    LayoutColumnPosition Enumeration
    LayoutGroupType Enumeration
   [Expand]ModelDefaultAttribute Class
   [Expand]ModelNodesGeneratorAttribute Class
   [Collapse]ModelNodesGeneratorBase Class
     ModelNodesGeneratorBase Members
    [Expand]ModelNodesGeneratorBase Methods
   [Expand]ModelNodesGeneratorUpdater<T> Class
   [Expand]ModelSynchronizer Class
   [Expand]ModelSynchronizer<T, V> Class
   [Expand]ModelSynchronizerList Class
    SummaryType Enumeration
    ViewsOrder Enumeration
  [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.Office.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.Mobile
  [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.Win.Utils
  [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]eXpress Persistent Objects
[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)

ModelNodesGeneratorBase Class

The base class for Nodes Generators.

Namespace:DevExpress.ExpressApp.Model
Assembly:DevExpress.ExpressApp.v19.1.dll

Expanded Syntax

Expanded Remarks

To define how the custom Application Model node is generated, inherit this class and override the GenerateNodesCore method. To access the node for which the generator is invoked, use the method's node parameter. To apply the implemented Generator to the required node, decorate the model node interface with the ModelNodesGeneratorAttribute attribute, and pass the Nodes Generator type as the parameter. The code example is provided in the Extend and Customize the Application Model in Code.

If you cannot modify the Nodes Generator code (for instance, if it is one of the Built-in Nodes Generators), you still can customize the generated node content in code. Implement a Generator Updater by inheriting the ModelNodesGeneratorUpdater<T> class. The complete example of implementing Generator Updaters for this Nodes Generator is provided in the How to: Create Additional ListView Nodes in Code using a Generator Updater topic.

Important

Always use a Node Generator or Generator Updater to customize the current node and its child nodes. To update nodes outside the current node hierarchy, create separate Node Generators or Generator Updaters.

Expanded Inheritance Hierarchy

System.Object
    ModelNodesGeneratorBase
       AppearanceRulesModelNodesGenerator
       FileTypeFiltersNodesGenerator
       ImageSourceNodesGenerator
       ModelActionContainersGenerator
       ModelActionsNodesGenerator
       ModelBOModelClassNodesGenerator
       ModelBOModelMemberNodesGenerator
       ModelChoiceActionItemsNodesGenerator
       ModelControllerActionsNodesGenerator
       ModelControllersNodesGenerator
       ModelCreatableItemsGenerator
       ModelDetailViewItemsNodesGenerator
       ModelDetailViewLayoutNodesGenerator
       ModelListViewColumnsNodesGenerator
       DevExpress.ExpressApp.Model.NodeGenerators.ModelListViewColumnsNodesGeneratorBase<ColumnType, CollectionItemType>
       ModelListViewFiltersGenerator
       ModelLocalizationGroupGenerator
       ModelLocalizationNodesGenerator
       ModelOptionsNodesGenerator
       ModelRegisteredViewItemsGenerator
       ModelValidationContextsNodeGenerator
       ModelValidationRulesNodeGenerator
       ModelViewsNodesGenerator
       NavigationItemNodeGenerator
       TemplatesModelNodeGenerator

Expanded See Also

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